!  -ÌŸ Ì<MZgr€Œ˜¤³¿Ì-h.„/£0³1Ä2Ý3ì4 5!637V8k9‰:¬;Ä<ÞøÎÞ·¨ÖØÐ´ò¿ªÒª¶ÁÈ¡µÄÊäÈëÎļþÎÞ·¨´ò¿ª´úÂëÉú³ÉÆ÷Êä³öÎļþ "%s"ÎÞ·¨´ò¿ª°üÀ¨ÎļþÎÞЧµÄ C º¯Êý˵Ã÷·Ç·¨»ìÓÃÐÂ¾É C Ðͺ¯Êý˵Ã÷·Ç·¨µÄ C º¯ÊýÃûÔÚÖ»Óе¥¸ö²ÎÊýʱ²ÅÄÜʹÓà voidÔڴ˺¯Êý˵Ã÷ÖÐÐèÒª±êʶ·û·Ç·¨µÄÐÎʽ²ÎÊý˵Ã÷ÐÎʽ²ÎÊý VARCHAR Ó¦×÷ΪָÕë½øÐÐ˵Ã÷²»ÄÜÓÐ VARCHAR λ×ֶβ»ÔÊÐí´óÓÚ 2 άµÄ VARCHAR Êý×éVARCHAR ˵Ã÷µÄ¸ñʽ²»ÕýÈ· - ȱÉÙ³¤¶ÈÎÞ·¨Çó³ö±í´ïʽµÄ³£Á¿´óСÎÞ·¨½«±í´ïʽ×÷Ϊ³£Á¿À´ÇóÖµ³£Á¿±í´ïʽÖгöÏÖ·Ç·¨ÔËËã·û=n>„?’@¨AÆBâCôD&EAFOGaHsIƒJ—K¯LÂM×ü·Ç·¨µÄ cast ÀàÐͱí´ïʽȱÉÙÀàÐͱí´ïʽ±í´ïʽÀàÐÍÓëÓ÷¨²»Ïà·ûËãÊõ±í´ïʽûÓÐÕýÈ·µÄ²Ù×÷ÊýÀàÐÍÖ»ÄÜÔÚÁ½¸öÖ¸ÕëÖ®¼ä×ö¼õ·¨ÔËËãÕÒµ½Î´¶¨ÒåµÄ±êʶ·û·¢ÏÖÔÚ±í´ïʽÖÐʹÓà typedef Ãû (ÐèÒª²éÕÒµÄÊÇÒ»¸öÖµ)·¢ÏÖÓÃ×÷ typedef ÃûµÄ±äÁ¿Ãû·Ç·¨µÄ¼ä½Ó²Ù×÷·Ç·¨µÄ½á¹¹ÒýÓòÙ×÷ÐèÒª½á¹¹»ò½á¹¹Ö¸Õë䶨ÒåµÄ½á¹¹³ÉÔ±·¢ÏÖδ˵Ã÷º¯ÊýµÄÒýÓÃÐèÒªµÄÊÇÒ»¸öÕûÊýÐͱí´ïʽ䶨ÒåµÄ SQL ±êʶ·û³¢ÊÔÖØ¶¨Òå SQL ±êʶ·ûûÓн« SQL ±êʶ·û×÷ΪһÌõÓï¾ä½øÐÐ˵Ã÷ NVOwP‘Q«RÃSæTÿUV%W\XxY«ZßòûÓн« SQL ±êʶ·û×÷ΪÓÎ±ê½øÐÐ˵Ã÷ÓαêÖ÷Ì屨ÐëÃüÃûÓï¾ä±êʶ·ûËÞÖ÷±äÁ¿±í´ïʽ¾ßÓÐÎÞЧÀàÐÍÎÞ·¨ËµÃ÷´ËÀàÐ͵ĶàάÊý×é½á¹¹Öаüº¬Ò»¸öǶÌ׽ṹ»ò union ÀàÐÍËÞÖ÷±äÁ¿²»ÄÜÊÇ union ÀàÐͽṹ°üº¬Ò»¸öλ×Ö¶ÎËÞÖ÷±äÁ¿¾ßÓзǷ¨ÀàÐͶÔδʹÓà FOR UPDATE ×Ӿ䶨ÒåµÄÓαêʹÓà WHERE CURRENT OFÓαêÖ÷Ì屨ÐëÊÇÒ»¸ö²éѯ±í´ïʽËÞÖ÷±äÁ¿Êý×é´óС²»Æ¥Åä¡£ÕýÔÚʹÓÃ×îСµÄÊý×é´óС: %ldÔÚʹÓÃǶÈëʽ PL/SQL ¿éʱ,±ØÐëÖ¸¶¨ SQLCHECK=SEMANTICSPL/SQL ·¢ÏÖÓïÒå´íÎó [V\i]ˆ^ž_±`Çaæbc8dPexfœg¿èPL/SQL ·¢ÏÖÓï·¨´íÎóEXEC IAF Óï¾äÖв»ÔÊÐí³öÏÖָʾ·û¶ÔÓÚ´ËÀàÐͱØÐëÖ¸¶¨¾«¶ÈÎÞ·¨µÈͬ´Ë SQL ÀàÐÍ·Ç·¨µÄÊý¾ÝÀàÐ͵Èͬ²Ù×÷PL/SQL ÇëÇóµÄÁ¬½ÓλÖó¬³öÁ˽çÏÞÔÚµÚ %d ÐÐ, µÚ %d ÁÐ, Îļþ %s ÓÐÓïÒå´íÎó: °üÀ¨ #include µÄÎļþÖв»Äܰüº¬ SQL Óï¾äÎÞЧ»òÕß·ÏÆúµÄÑ¡Ïî, ºöÂÔ¾¯¸æ³öÏÖÔÚµÚ %d ÐÐ, µÚ %d ÁÐ, %s Îļþ: º¯Êýµ÷Óò»ÄÜ×÷ΪËÞÖ÷±äÁ¿±í´ïʽÀ´Ê¹ÓÃARRAYLEN ºóµÄ±êʶ·û±ØÐëÊÇÒ»¸öÊý×éÃûÖ¸¶¨ ARRAYLEN µÄ±êʶ·û±ØÐëÊÇÒ»¸ö 4 λÕûÊý hJitj¢kÇlßmn'oSpqq�rÇóÔÚÓë ARRAYLEN Óï¾äÒ»ÆðʹÓÃʱ´ËÊý×éÀàÐÍÎÞЧÔÚÓë SQL Á¬½ÓÊý×éÒ»ÆðʹÓÃʱ, ARRAYLEN »á±»ºöÂÔËÞÖ÷±äÁ¿Î´ÔÚ SQL DECLARE ²¿·Ö½øÐÐ˵Ã÷ָʾ·û±äÁ¿±ØÐëÊÇÒ»¸ö½á¹¹ËÞÖ÷½á¹¹¼°Æäָʾ·û±ØÐëÓÐÏàͬÊýÁ¿µÄ×Ö¶Îָʾ·ûÊý×é´óС²»ÄÜСÓÚËÞÖ÷Êý×é´óСÃüÁîÐвÎÊý MODE=ANSI ²»ÄÜÓë DBMS=V6 Ò»ÆðʹÓÃָʾ·û±äÁ¿±ØÐë×÷Ϊ¶ÌÀàÐÍÀ´ËµÃ÷Ò»¸ö EXEC TOOLS ËÞÖ÷±äÁ¿ÉÏÏÂÎÄÃû²»ÊÇ×Ö·ûÀàÐÍÒ»¸ö EXEC TOOLS ËÞÖ÷Ö¸Õë±äÁ¿²»ÊÇÒ»¸öָʾ·ûÒ»¸ö EXEC TOOLS MESSAGE ËÞÖ÷±äÁ¿²»ÊÇ×Ö·ûÀàÐÍ sVteu�v¢w»xÖyþz{4|N~l•€ºÌ·Ç·¨µÄ FOR ×Ó¾äSELECT Óï¾äÖв»ÔÊÐí FOR ×Ó¾äEXEC SQL DECLARE ²¿·Ö³öÏÖÎÞЧ˵Ã÷SQLCHECK Öµ³¬¹ýÃüÁîÐеÄÖµÔÚº¯ÊýÖ÷ÌåÖ®Íâ·¢ÏÖ SQL Óï¾äÔÚ DEF_SQLCODE = TRUE ʱ²»ÄÜ˵Ã÷ SQLCODE²»Ö§³ÖÒþʽ varchars Êý×é¶ÔÓÚ±¾µØÓïÑÔ×Ö·û±äÁ¿µÄ·Ç·¨ÀàÐÍÎÞ·¨µÈͬÓÚ±¾µØÓïÑÔ×Ö·û±äÁ¿±ä¸üÓû§¿ÚÁîʱÎÞ·¨Ö¸¶¨Á¬½ÓģʽÔÚʹÓà NLS_LOCAL=YES ʱ±ØÐëÖ¸¶¨ MODE=ANSIÔ¤ÆÚÀàÐÍΪ OCIExtProcContext µÄ±í´ïʽȱÉÙÊý×鳤¶È˵Ã÷·û �P‚‡ƒ�„¿…?ˆ[‰}Ѝ‹ÂŒæþÔÚʹÓà NLS_CHAR ºÍ NLS_LOCAL=TRUE ʱ²»ÔÊÐí³öÏÖ CHAR_MAP´Ë´¦²»ÔÊÐíʹÓà AT ×Ó¾äÐèÒªÒ»¸öÀàÐÍΪ sql_cursor µÄ±í´ïʽÔÚ SELECT Óï¾äµÄ FROM/WHERE ×Ó¾äÖв»ÔÊÐíʹÓÃÊý×éÔÚ SELECT ÁбíÖв»ÔÊÐí½«Êý×é×÷ΪÊäÈëÁ¬½Ó±äÁ¿Î´Óöµ½ÈκΠEXEC SQL CONTEXT USE Óï¾äÔËÐÐʱ¼ä¹ØÁª±äÁ¿µÄÀàÐͲ»ÕýÈ·ÒѾ­ÔÚ EXEC SQL DECLARE SECTION ÖÐÔÚ EXEC SQL DECLARE SECTION Öз¢ÏÖ SQL Óï¾äÊäÈëÎļþÃû¼°Êä³öÎļþÃûÏàͬʹÓýṹÊý×éµÄÒªÇóÊǸýṹ±ØÐëÒÑÃüÃûÔڽṹÊý×éÄÚ·Ç·¨Ê¹ÓÃÊý×é �PŽr���¿‘ã’“4”V•|–Œ—µ˜Êâ#include ÎļþÖв»ÔÊÐí VARCHAR ˵Ã÷´ËÀàÐ͵Äָʾ·ûÔÚ¸ÃÓï¾äÖб»ºöÂÔÓÃÓÚ DBMS=V6 ·Ç·¨ CHAR_MAP Ñ¡ÏîÖµ¡£Ñ¡Ïî±»ºöÂÔ¡£±ØÐ뽫´ËËÞÖ÷±äÁ¿×÷ΪָÕëÀàÐͽøÐÐ˵Ã÷´ËÀàÐ͵ÄËÞÖ÷±äÁ¿Êý×鵱ǰ²»ÊÜÖ§³ÖÔÚʹÓöÔÏó¸ßËÙ»º´æÊ±, ÐèÒª Pro*C Ñ¡Ïî OBJECTS=YES¶ÔÓÚ´ËËÞÖ÷±äÁ¿ÎÞЧµÄָʾ·û±äÁ¿ÀàÐͱØÐ뽫´Ëʶ±ð·û±äÁ¿×÷ΪָÕëÀàÐͽøÐÐ˵Ã÷䶨ÒåµÄÀàÐͱäÁ¿Ö»ÐèÒª±í¸ñ 'RETURN[ING] REF INTO : '¶ÔÏóºÍ REF ÀàÐͲ»Æ¥ÅäÐèҪij¸ö¶ÔÏóÀàÐ͵ıí´ïʽ ™Pši›‰œ­�Ԟ꟠+¡V¢v£�¤ÈâÐèҪij¸ö REF ÀàÐ͵ıí´ïʽÐèÒªÀàÐÍΪ Collection µÄ±í´ïʽ¡£INDICATOR ÃèÊö·ûÏîµÄËÞÖ÷±äÁ¿ÀàÐÍÎÞЧOBJECT GET »ò SET Óï¾äÖв»Ö§³Ö FOR ×Ó¾äÊôÐÔÊýÓëÖ÷»ú±äÁ¿Êý²»·û´ËÊôÐÔ²»´æÔÚÓÚÖ¸¶¨µÄ¶ÔÏóÖÐÔÚ OBJECT GET »ò SET ÖÐÎÞ·¨²Ù×÷¶ÔÏóÊôÐÔÔÚ OBJECT GET »ò SET ÖеĶÔÏó²»ÄÜÊÇÒ»¸öÊý×éÊôÐÔÓëËÞÖ÷±äÁ¿¼äµÄÀàÐÍת»»²»ºÏ·¨¶ÔÏóºÍ REF ËÞÖ÷±äÁ¿Ö®¼äµÄÊý×é´óС²»Æ¥ÅäÔÚ OBJECT SET »ò GET Öв»ÔÊÐíÓÐËÞÖ÷±äÁ¿Êý×é²»ÍêÕûµÄ (»òȱÉÙ) ÀàÐÍ˵Ã÷¥b¦~§ž¨Â©Úªî«ü¬­/®H¯a°‚±®²Ä³áü´ËËÞÖ÷±äÁ¿ÐèҪʹÓÃָʾ·û±äÁ¿Îª¸ø¶¨µÄÉÏÏÂÎÄÑ¡ÏîÖ¸¶¨ÁËÎÞЧµÄÖµËÞÖ÷±äÁ¿¾ßÓÐÒ»¸ö¶Ô´ËÑ¡ÏîÖµÎÞЧµÄÀàÐÍÖµºÍËÞÖ÷±äÁ¿µÄ±àºÅ²»Æ¥Åä´ËÊôÐÔ²»ÒªÇóָʾ±äÁ¿LOB ÀàÐͲ»¼æÈݱí´ïʽµÄ×Ö·û´®ÀàÐͲ»ÕýÈ·»º³åÇøÀàÐÍÓë LOB ÀàÐͲ»¼æÈÝÐèÒªÄÚ²¿ LOB ÀàÐ͵ıí´ïʽÐèÒªÈÎÒâ LOB ÀàÐ͵ıí´ïʽÐèÒªÍⲿ LOB (BFILE) ÀàÐ͵ıí´ïʽÎÞ·¨ÔÚ READ WRITE ·½Ê½Ï´ò¿ªÍⲿ LOB (BFILE)ÎÞЧµÄËÞÖ÷±äÁ¿ºÍÊôÐÔ¶ÔLOB Óï¾äÖв»ÔÊÐíʹÓà FOR ×Ó¾ä¸ÃÊôÐÔÖ»ÊÊÓÃÓÚÄÚ²¿ LOB ÀàÐÍ ´Pµs¶‡·�¸Ä¹áº÷»'¼I½e¾‹¿¯׸ÃÊôÐÔÖ»ÊÊÓÃÓÚÍⲿ LOB ÀàÐÍ (BFILE)ÐèÒª¶þ½øÖÆÕûÐͱí´ïʽ²»ÔÊÐíʹÓÃÊÕ¼¯¶ÔÏóÊý×é´Ë COLLECTION Óï¾äÖв»ÔÊÐíʹÓà FOR ×Ó¾ä¸ÃÊôÐÔ¶ÔÄÚ²¿»òÍⲿ LOB ¾ùÓÐЧÊôÐÔÊýÓëÖ÷»ú±äÁ¿Êý²»·ûËùÐèµÄÖµ·¶Î§ÔÚ 1 µ½ 65535 Ö®¼ä (°üÀ¨ 1 ºÍ 65535)Ö»µ±Ö¸¶¨ DYNAMIC=ANSI ʱ´ËÓ÷¨ÓÐЧÃèÊö·ûºÍ·ÇÃèÊö·û×Ó¾ä×éºÏÎÞЧUSING ×Ó¾äÖ»ÔÚ PREPAREd ¶¯Ì¬Óï¾äÉÏÓÐЧDEALLOCATE Óï¾äÖв»ÔÊÐíʹÓà FOR ×Ӿ䲻ÄÜÔÚ LOB WRITE APPEND ÖÐÖ¸¶¨Ä¿±êÆ«ÒÆÁ¿ ÀVÁ{‘éÄÑÅòÆ1ÇdȕɪʾËÜÌðü²»ÄÜÔÚ NLS_NCHAR Ñ¡ÏîÖÐÖ¸¶¨ UCS2 ±äÁ¿²»Äܽ« UCS2 ÀàÐ͵ȼۻ¯ÓαêδÔڿɹö¶¯Ä£Ê½ÖÐÉùÃ÷Æ«ÒÆÁ¿µÄÖµÔÚ ABSOLUTE ·½Ïòģʽϲ»ÄÜΪ¸ºCommon SQL Front End ·¢ÏÖÓïÒå´íÎóÈç¹ûʹÓÃÁËÑ¡Ïî OUTLINE, Ôò±ØÐëʹÓÃÑ¡Ïî SQLCHECK=SEMANTICS(FULL)Èç¹ûʹÓÃÁËÑ¡Ïî OUTLINPREFIX, Ôò±ØÐëʹÓÃÑ¡Ïî OUTLINEÈç¹ûʹÓÃÁËÑ¡Ïî RUNOUTLINE, Ôò±ØÐëʹÓÃÑ¡Ïî OUTLINEÎÞ·¨´ò¿ª´ó¸Ù SQL ÎļþÎÞ·¨´ò¿ª´ó¸ÙÈÕÖ¾Îļþ´ó¸ÙÃû³ÆµÄ³¤¶È³¬¹ýÁËÔÊÐíµÄÏÞÖÆ´ó¸ÙµÄÊýÄ¿³¬¹ýÁËÏÞÖÆÎÞ·¨´´½¨´ó¸Ùÿÿÿÿ