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

Pro*CÀÇ ±âÃÊ
¾îÇø®ÄÉÀ̼ǿ¡¼­ SQL¹®°ú C¹®Àå°ú Cº¯¼ö¿Í SQL¹®ÀåÀÇ ±¸Á¶¸¦ ¸ðµÎ ÀÚÀ¯·Ó°Ô »ç¿ëÇÒ
¼ö ÀÖ´Ù. È£½ºÆ® ÇÁ·Î±×·¥¿¡¼­ SQL¹®ÀåÀ» »ç¿ëÇÒ °æ¿ì “EXEC SQL”À̶õ Ű¿öµå¸¦
»ç¿ëÇÏ¿© SQL¹®À» ½ÃÀÛÇÏ°í ¹®ÀåÀÇ ¸¶Áö¸·¿¡´Â ¼¼¹ÌÄÝ·Ð(“;”)À¸·Î Á¾°áµÇµµ·Ï ÇÑ´Ù.
EXEC SQL·Î ½ÃÀÛÇÏ¿© ‘;’·Î Á¾·áÇÏ´Â °ÍÀÌ Embedded SQLÀÌ´Ù.
¼±¾ð(Declarative)
¸í·É ¼³¸í
ARRAYLEN PL/SQL¿¡¼­ È£½ºÆ® array¸¦ »ç¿ë
BEGIN DECLARE SECTION END DECLARE SECTION ANSI¸ðµå¿¡¼­ È£½ºÆ® º¯¼ö¸¦ »ç¿ëÇϱâ À§ÇÑ ¸í·É
DECLARE Oracle objectÀÇ À̸§ ºÎ¿©
INCLUDE ÇöÀçÀ§Ä¡¿¡ ÆÄÀÏ ´ëÄ¡
TYPE µ¥ÀÌÅÍ Å¸ÀÔÀÇ µ¿ÀÏÈ­
VAR º¯¼öÀÇ µ¿ÀÏÈ­
WHENEVER Runtime¿¡·¯ Çڵ鸵
½ÇÇà(Executable)
ALLOCATE CURSORº¯¼ö¿¡ ¿µ¿ªÇÒ´ç ¹®Àå
ALTER
ANALYZE
AUDIT
COMMENT
CONNECT
CREATE
DROP
GRANT
NOAUDIT
RENAME
REVOKE
TRUNCATE
CLOSE
¿À¶óŬÀÇ Á¤ÀÇ, ¿À¶óŬ¿¡ Á¢¼ÓÁ¦¾î ¹®Àå
DELETE
FETCH
INSERT
LOCK TABLE
OPEN
SELECT
UPDATE
EXPLAIN PLAN
µ¥ÀÌÅÍ Á¶ÀÛ ¹× µ¥ÀÌŸ ÃßÃâ ¹®
COMMIT
ROLLBACK
SAVEPOINT
SET TRANSACTION
Æ®·£Àè¼Ç Á¦¾î¹®
DESCRIBE
EXECUTE
PREPARE
Dynamic SQL»ç¿ëÀ» À§ÇÑ ¹®
ALTER SESSION
SET ROLE
¼¼¼Ç Á¦¾î¹®
Table 2-1 Embedded SQL¹®

SQL¹®µéÀº C¹®Àå°ú ÀÚÀ¯·Ó°Ô È¥¿ëÇÏ¿© »ç¿ëÇÒ ¼ö ÀÖ´Ù.
´Ù¸¸ À§ÀÇ SQL¹®µéÀÇ ¾Õ¿¡ “EXE SQL”À̶ó´Â ´Ü¾î¸¦ ¸ÕÀú ¾²°í ¹®ÀåÀÇ ¸¶Áö¸·¿¡ 
¼¼¹ÌÄÝ·Ð(“;”)À» »ç¿ëÇÏ¸é µÈ´Ù.
Pro*C ÇÁ¸®ÄÄÆÄÀÏ·¯´Â “EXE SQL”·Î ½ÃÀÛÇÏ´Â ¹®ÀåÀ» ORACLE ·±Å¸ÀÓ ¶óÀ̺귯¸® 
SQLLIB¸¦ CALLÇÏ´Â ¹®ÀåÀ¸·Î º¯È¯ÇØ ÁØ´Ù.
ROLLBACK WORK; : Interactive 
EXEC SQL ROLLBACK WORK : Embedded SQL
À§ÀÇ µÎ ¹®ÀåÀº ¶È°°Àº °á°ú¸¦ ³ªÅ¸³½´Ù.
ù¹øÂ° ¹®ÀåÀº Interactive SQLȯ°æ¿¡¼­ »ç¿ëÇϰí (SQL*Plus) µÎ¹øÂ° ¹®ÀåÀº 
Pro*C ÇÁ·Î±×·¥¿¡¼­ »ç¿ëÇÑ´Ù.

´ëºÎºÐÀÇ ÀÀ¿ëÇÁ·Î±×·¥Àº static SQL¹®°ú °íÁ¤µÈ Æ®·£Àè¼ÇÀ» »ç¿ëÇÏÁö¸¸ ÇÁ·Î±×·¥¿¡ µû¶ó¼­ 
Dynamic SQLÀ» »ç¿ëÇÒ ¼ö µµ ÀÖ´Ù. 
STATIC SQL¹®Àº °¢ SQL¹®µéÀÌ ½ÇÇàµÇ¾îÁö±â Àü¿¡ ¾î¶² SQL¸í·ÉÀÌ ¼öÇàµÇ°í, 
¶Ç ¾î¶² µ¥ÀÌŸº£À̽º Å×À̺íÀÌ º¯°æµÇ´ÂÁö, ¾î¶² Ä÷³ÀÌ UPDATEµÇ´ÂÁö ¾Ë°í ÀÖ´Ù.
¹Ý¸é¿¡ DYNAMIC SQLÀº ¾îÇø®ÄÉÀÌ¼Ç ÇÁ·Î±×·¥ÀÌ ½ÇÇàµÇ´Â ½ÃÁ¡¿¡¼­ SQL¹®ÀåÀ» ¸¸µé¾î 
½ÇÇàÇÏ°Ô ÇÁ·Î±×·¥ ÇØ¾ß ÇÒ °æ¿ì »ç¿ëÇÑ´Ù. À̰ÍÀº ½ÇÇàµÇ´Â ½ÃÁ¡¿¡¼­¸¸ ¾î¶² SQLÀÌ 
¼öÇàµÇ´ÂÁö ¾Ë ¼ö ÀÖ´Ù.

Pro*C ÄÄÆÄÀÏ·¯´Â Embedded PL/SQL¹®ÀåÀ» Embedded SQL¹®Àå°ú °°ÀÌ ´Ù·é´Ù.
PL/SQLÀº ¸ðµç µ¥ÀÌÅÍ Á¶ÀÛ°ú Æ®·£Àè¼Ç Á¦¾îSQL¹®À» »ç¿ëÇÒ ¼ö Àֱ⠶§¹®¿¡
Embedded PL/SQL¿¡¼­´Â ORACLEÀÇ µ¥ÀÌŸ¸¦ À¯¿¬ÇÏ°í ¾ÈÀüÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖ´Ù.

È£½ºÆ®º¯¼ö´Â ¿À¶óŬ°ú ÇÁ·Î±×·¥»çÀÌÀÇ µ¥ÀÌŸ³ª »óŸ¦ ÁÖ°í ¹Þ´Âµ¥ »ç¿ëµÇ´Â º¯¼öÀÌ´Ù.
È£½ºÆ®º¯¼ö´Â Pro*CÇÁ·Î±×·¥ ¾îµð¼­³ª »ç¿ë°¡´ÉÇϳª. ´Ü SQL¹® ³»¿¡¼­´Â ÄÝ·Ð(‘:’)À» 
¾Õ¿¡ ºÙ¿© »ç¿ëÇÑ´Ù.
È£½ºÆ®º¯¼ö¿¡´Â CÀÇ Struct °¡Áö´Â °ÍÀÌ ÀÖ´Ù. (VARCHAR ŸÀÔ)
Indicatorº¯¼ö´Â short integerÇüÀ¸·Î È£½ºÆ®º¯¼ö¿¡ ÄÝ·ÐÀ¸·Î ºÙ¿© È£½ºÆ®º¯¼öÀÇ »óųª 
°ªÀ» ¾ò°íÀÚ ÇÒ °æ¿ì »ç¿ëÇÑ´Ù.
È£½ºÆ®º¯¼ö´Â ¿À¶óŬ µ¥ÀÌŸº£À̽º¿Í ¾îÇø®ÄÉÀÌ¼Ç ÇÁ·Î±×·¥»çÀÌ¿¡ µ¥ÀÌÅÍ Åë½ÅÀ» ´ã´çÇÑ´Ù.
È£½ºÆ®º¯¼ö´Â ¿À¶óŬ°ú ¾îÇø®ÄÉÀ̼ÇÀÌ °øÀ¯ÇÏÂκΠ´ÎºÐÀ¸·Î °°ÀÌ ÂüÁ¶ÇÒ ¼ö ÀÖ´Ù.
È£½ºÆ®º¯¼ö¸¦ »ç¿ëÇÏ¿© ¿À¶óŬ¿¡ µ¥ÀÌŸ¸¦ Àü´ÞÇϰí, ¶Ç ¿À¶óŬ µ¥ÀÌŸº£À̽º¿¡¼­ µ¥ÀÌÅÍ ¶Ç´Â 
»óÅÂÁ¤º¸¸¦ ÇÁ·Î±×·¥À¸·Î ¹ÞÀ» ¼ö ÀÖ´Ù.
Embedded SQL¹®Àå¿¡¼­ HOSTº¯¼ö´Â ÄÝ·Ð(“:”)À» º¯¼ö ¾Õ¿¡ ºÙ¿©¼­ »ç¿ëÇÑ´Ù.

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