Pro*C °³¿ä| Pro*C ±âÃÊ| º¯¼öÀÇ »ç¿ë | SQL¹® ±âº» | Dynamic SQLÀÇ »ç¿ë | SQLCA | ApplicationÀÇ ÀÛ¼º| ÄÄÆÄÀÏ

SQL¹® ±âº»

µ¥ÀÌŸº£À̽º¿¡¼­ µ¥ÀÌŸ¸¦ ÁúÀÇÇÑ´Ù.(Select)
µ¥ÀÌŸ¸¦ ÀÔ·Â(Insert), ¼öÁ¤(Update), »èÁ¦(Delete)ÇÑ´Ù.
µ¥ÀÌŸ ±¸Á¶¸¦ »ý¼º(Create), ¼öÁ¤(Alter), »èÁ¦(Drop)ÇÑ´Ù
µ¥ÀÌŸ ¾×¼¼½º¸¦ Á¶ÀýÇÑ´Ù(Grant)


SQL¹®ÀÇ Á¾·ù¿¡´Â 

µîÀÌ ÀÖ´Ù. (¾Æ·¡ Ç¥ Âü°í)
Data Definition Data Manupulation System Control
ALTER
ANALYZE
AUDIT
COMMENT
CREATE
DROP
GRANT
NOAUDIT
RENAME
REVOKE
TRUNCATE
DELETE
EXPLAIN PLAN
INSERT
LOCK TABLE
SELECT
UPDATE
ALTER SYSTEM
Transaction Control
COMMIT
ROLLBACK
SAVEPOINT
SET TRANSACTION
Session Control
ALTER SESSION
SET ROLE
Table 2-1. SQL¹® Á¾·ù
ALTER : µ¥ÀÌŸº£À̽º¸¦ º¯°æÇÒ ¶§ »ç¿ë ANALYZE : µ¥ÀÌŸº£À̽ºÀÇ Åë°èÀڷḦ »ý¼º½Ã¿¡ »ç¿ë AUDIT: SQL¹®À» auditingÇϱâ À§ÇØ ÁöÁ¤ÇÏ´Â ¸í·É. COMMENT : table, view, snapshot ¶Ç´Â column¿¡ °üÇÑ comment¸¦ µ¥ÀÌÅÍ µñ¼Å³Ê¸®¿¡ ÀÔ·ÂÇÒ ¶§ »ç¿ë CREATE : table, index, view, snapshot, cluster, database, database link µî°ú °°Àº database object¸¦ »ý¼º½Ã¿¡ »ç¿ë DROP : database object»èÁ¦ÇÏ´Â ¸í·É. RENAME : table, view, sequence, private synonymÀÇ À̸§À» º¯°æÇÏ´Â ¸í·É. NOAUDIT :AUDIT¿¡ ÀÇÇØ ¼±ÅÃµÈ SQL¹®ÀÇ audit¸¦ Á¤Áö½ÃŰ´Â ¸í·É. REVOKE : objectÀÇ ±ÇÇÑÀ» Ãë¼ÒÇÏ´Â ¸í·É. TRUNCATE : Å×À̺íÀ̳ª clusterÀÇ ¸ðµç row¸¦ »èÁ¦ÇÏ´Â ¸í·É. DELETE : Å×À̺íÀ̳ª viewÀÇ baseÅ×À̺íÀÇ row¸¦ »èÁ¦ÇÏ´Â ¸í·É EXPLAIN PLAN : SQL¹®ÀÇ ½ÇÇà°èȹÀ» °áÁ¤ÇÏ´Â ¸í·É. INSERT : Å×À̺í, VIEWÀÇ BASEÅ×ÀÌºí¿¡ ROW¸¦ Ãß°¡ÇÏ´Â ¸í·É. LOCK TABLE : 1°³ ¶Ç´Â ¿©·¯ °³ÀÇ Å×À̺íÀ» LOCKÇÏ´Â ¸í·É. SELECT : Å×À̺í, VIEW, SNAPSHOT¿¡¼­ ROW¸¦ ±¸ÇØ¿À´Â ¸í·É. UPDATE : TABLE, VIEWÀÇ BASE TABLEÀÇ Á¸ÀçÇÏ´Â ROWÀÇ °ªÀ» º¯°æÇÏ´Â ¸í·É. ALTER SESSION : À¯Àú°¡ ±ÇÇÑÀÌ ÀÖ´Â ¼¼¼ÇÀ» Á¦¾îÇÏ´Â ¸í·É. SET ROLE : ÇöÀçÀÇ ¼¼¼ÇÀÇ ROLEÀ» ENABLE/DISABEL½ÃŰ´Â ¸í·É. ALTER SYSTEM : ¿À¶óŬ ÀνºÅϽº¸¦ º¯°æÇÏ´Â ¸í·É. COMMIT: ÇöÀçÀÇ Æ®·£Àè¼ÇÀ» Á¾·áÇϰí, Æ®·£Àè¼Ç µµÁß º¯°æµÇ¾îÁø µ¥ÀÌŸ¸¦ È®Á¤ÇÏ´Â ¸í·É. ROLLBACK : ÇöÀçÀÇ Æ®·£Àè¼ÇÀ» Ãë¼ÒÇÏ°í º¯°æµÇ¾îÁø µ¥ÀÌŸ¸¦ º¯°æÀüÀÇ µ¥ÀÌŸ·Î º¹±¸. SAVEPOINT : Æ®·£Àè¼Ç¿¡¼­ ³ªÁß¿¡ ROLLBACKÇÒ À§Ä¡¸¦ ÁöÁ¤ÇÏ´Â ¸í·É. SET TRANSACTION : ÇöÀçÀÇ Æ®·£Àè¼Ç¿¡¼­ Æ®·£Àè¼ÇÀ» READ-ONLY·Î Çϰųª READ-WRITE·Î ¼³Á¤, Æ®·£Àè¼Ç¿¡¼­ »ç¿ëµÉ ROLLBACK SEGMENT¸¦ ÁöÁ¤ÇÑ´Ù. TIP> SQLPLUS¿¡¼­ HELP¸¦ º¸´Â ¹æ¹ý SELECT ÇѰ³ ȤÀº ¿©·Á°³ÀÇ Å×ÀÌºí¿¡¼­ ROW¸¦ ¸®ÅÏÇÑ´Ù. INSERT Å×ÀÌºí¿¡ »õ·Î¿î ROW¸¦ Ãß°¡ÇÑ´Ù. UPDATE Å×À̺íÀÇ ROW¸¦ ¼öÁ¤ÇÑ´Ù. DELETE Å×ÀÌºí¿¡¼­ ROW¸¦ »èÁ¦ÇÑ´Ù. ´ÙÀ½ SQL¹®µéÀº Embeddec SQL¹®¿¡¼­ CURSOR¸¦ Á¤ÀÇÇϰí Á¶ÀÛÇϴµ¥ »ç¿ëµÈ´Ù. SELECT ¹® SELECT¹®¿¡¼­ »ç¿ëµÇ´Â ¿¹¾à¾îµéÀº INSERT¹® subqueryÀÇ »ç¿ë UPDATE¹®ÀÇ »ç¿ë DELETE¹® ¿©·¯ °³ÀÇ ROW¸¦ queryÇÒ °æ¿ì »ç¿ëÇÑ´Ù. CURSORÀÇ »ç¿ëÀº DECALRE, OPEN, FETCH, CLOSEÀÇ 4°³ÀÇ ¸í·ÉÀ¸·Î »ç¿ë °¡´ÉÇÏ´Ù. óÀ½¿¡ DECALRE¹®À¸·Î CURSOR¸¦ ¼±¾ðÇÑ´Ù. Ä¿¼­ÀÇ ¼±¾ðÀº ¸í½ÃÀûÀ¸·Î SQL QUERY¹®¿¡ Ä¿¼­ÀÇ À̸§À» ´ëÀÀ½ÃŰ´Â °ÍÀÌ´Ù. CURSOR¸í¿¡´Â ÇÏÀÌÇÂ(¡°-¡°)ÀÌ µé¾î°¡´Â ¾ÈµÇ°í, ±æÀÌ´Â »ó°üÀÌ ¾ø´Âµ¥ óÀ½ 31ÀÚ´Â Àǹ̰¡ ÀÖ¾î¾ß ÇÑ´Ù. ANSI¸ðµå¿¡¼­´Â 18ÀÚ·Î Á¦ÇѵǾî ÀÖ´Ù. CURSOR¸¦ Á¤ÀÇÇÑ SELECT¹®Àå¿¡´Â INTOÀýÀº »ç¿ëÇÏÁö ¾Ê´Â´Ù. ½ÇÁ¦ÀûÀ¸·Î CURSOR¸¦ ½ÇÇàÇÏ´Â ºÎºÐÀº OPENÀÌ´Ù. Ä¿¼­¸¦ DECLAREÇϱâ Àü¿¡ ¸ÕÀú OPENÀ» Çϸé OPEN¿¡¼­ ¿¡·¯°¡ ¹ß»ýµÈ´Ù. Ä¿¼­´Â OPEN½ÃÁ¡¿¡¼­ ½ÇÁ¦ÀûÀ¸·Î QUERY¸¦ ¼öÇàÇÏ¿© µ¥ÀÌŸ¸¦ ÃßÃâÇÑ´Ù. OPENÀÌ µÇ¾ú´Ù¸é µ¥ÀÌŸ´Â FETCH¹®À¸·Î ¾îÇø®ÄÉÀÌ¼Ç ÇÁ·Î±×·¥À¸·Î °¡Á®¿Â´Ù. ÀÌ FETCH¹®ÀåÀº ´õ ÀÌ»ó °¡Á®¿Ã µ¥ÀÌŸ°¡ ¾øÀ» ¶§±îÁö ½ÇÇàµÇ¾î¾ß Çϴϱî, LOOPÇÑ¿¡ À§Ä¡ÇÏ°Ô µÈ´Ù.. ´õ ÀÌ»ó µ¥ÀÌŸ°¡ Á¸ÀçÇÏÁö ¾ÊÀ¸¸é CLOSE¸¦ »ç¿ëÇÏ¿© Ä¿¼­¸¦ FREE½ÃÄÑ¾ß ÇÑ´Ù. ÀÌ·¸°Ô ÇÔÀ¸·Î½á Ä¿¼­°¡ Á¡À¯Çϰí ÀÖ´ø resource¸¦ µ¥ÀÌŸº£À̽º¿¡°Ô µÇµ¹·Á ÁØ´Ù. À§ÀÇ cursorÀÇ »ç¿ëÀ» ±×¸²À¸·Î ÇÑ´Ù. CursorÀÇ »ç¿ë Ä¿¼­ÀÇ »ç¿ëÀº À§ÀÇ ±×¸²°ú °°ÀÌ µ¿À۵ȴÙ. ÀÌ Ä¿¼­°¡ ´Ù½Ã »ç¿ëµÈ´Ù¸é CLOSEÇÏÁö ¸»°í DECLARE¿¡¼­ »ç¿ëµÈ È£½ºÆ® º¯¼ö¿¡ ¿øÇÏ´Â °ªÀ» ´Ù½Ã ºÎ¿©Çϰí OPENºÎÅÍ ´Ù½Ã ¼öÇà½ÃÄÑ PARSINGÀÇ ºÎÇϸ¦ ÁÙÀÏ ¼ö ÀÖ´Ù. Ä¿¼­´Â Àç»ç¿ë µÉ ¼ö ÀÖ´Ù. ¿À¶óŬÀº SQL¹®À» ¼öÇàÇϱâ À§ÇÏ¿© PGA(Program Global Area)ÀÛ¾÷¿µ¿ªÀ» »ç¿ëÇÑ´Ù. PGA´Â SQL¹®Àå ¼öÇà¿¡ ÇÊ¿äÇÑ Á¤º¸µéÀ» ÀúÀåÇÏ´Â CURSOR¿¡ ÀÇÇØ °¢ SQL¹®À» Á¦¾î Çϵµ·Ï ±¸¼ºµÇ¾î ÀÖ´Ù. Ä¿¼­¿¡´Â ³»ºÎ Ä¿¼­¿Í ¿ÜºÎÄ¿¼­°¡ ÀÖ´Ù. ¸ðµç DDL°ú DML¿¡ ´ëÇØ ³»ºÎÀûÀ¸·Î Ä¿¼­¸¦ »ý¼º½ÃŲ´Ù. ±×·¯³ª ´ÙÁßó¸® ´ÜÀ§¸¦ ¿©·¯ ¹ø ¼öÇà½Ã۰íÀÚ ÇÑ´Ù¸é ¿ÜºÎÄ¿¼­¸¦ ¼±¾ðÇÏ¿© »ç¿ëÇØ¾ß¸¸ ÇÑ´Ù. ³»ºÎÄ¿¼­ ¿ÜºÎÄ¿¼­ HOLD_CURSORÀÇ »ç¿ë ·çÇÁ³»¿¡¼­ »ç¿ëµÇ¾îÁú ÇÁ·Î±×·¥¿¡ ´ëÇØ¼­´Â ÆÄ½ÌÀº Çѹø¸¸ ÇÏ¸é µÈ´Ù. ±×·¸°Ô Çϱâ À§Çؼ­´Â ÇÁ·Î±×·¡¸Ó°¡ ÀÓÀÇÀûÀ¸·Î HOLD_CURSOR, RELEASE_CURSOR¿É¼ÇÀ» ÁöÁ¤ÇØ ÁÖ¾î¾ß¸¸ ³»ºÎÄ¿¼­¸¦ º¸°üÇÒ ¼ö ÀÖ´Ù. ¸¸¾à ÀÌ·¸°Ô º¸°ü½ÃÄÑ¾ß ÇÒ Ä¿¼­ÀÇ ¼ýÀÚ°¡ 10°³°¡ ³Ñ¾î°£´Ù¸é MAXOPENCURSOR ¿É¼ÇÀ» ´Ã·Á ÁÖ¾î¾ß ÇÑ´Ù. ÀÌ ¿É¼ÇÀº ±âº»ÀûÀ¸·Î 10°³·Î ÀâÇôÀÖ´Ù.

Pro*C °³¿ä| Pro*C ±âÃÊ| º¯¼öÀÇ »ç¿ë | SQL¹® ±âº» | Dynamic SQLÀÇ »ç¿ë | SQLCA | ApplicationÀÇ ÀÛ¼º| ÄÄÆÄÀÏ