Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

PL/SQL È¡µÃɾ³ý¼Í¼µÄÌõÊý

ÔõÑùͳ¼ÆPLSQLÓïÑÔÖÐɾ³ýÓï¾äÖ´ÐÐÖ®ºóÒ»¹²É¾³ýÁ˶àÉÙÌõ¼Í¼¡£
OracleʹÓÃÁ½ÖÖ¹â±ê£ºÏÔʽ¹â±êºÍÒþʽ¹â±ê¡£²»¹ÜÓï¾ä·µ»Ø¶àÉÙÌõ¼Í¼£¬PL/SQLΪʹÓõÄÿһÌõUPDATE¡¢DELETEºÍINSERTµÈSQLÃüÁîÒþʽµÄÉùÃ÷Ò»¸ö¹â±ê¡££¨Òª¹ÜÀíSQLÓï¾äµÄ´¦Àí£¬±ØÐëÒþʽµÄ¸øËü¶¨ÒåÒ»¸ö¹â±ê¡££©
ÔÚPL/SQLÖУ¬µ±Ö´ÐÐDMLÓï¾äµÄʱºò£¬»á×Ô¶¯´ò¿ªÒ»¸öÒþʽÓα꣨Óαê¾ÍÀàËÆJDBCÖеÄResultSet£©£¬¶øÏà¹ØÒª±»²Ù×÷µÄÊý¾Ý¶¼ÊÇ»áÏȱ»·ÅÈëÒþʽÓαꡣÒþʽÓαêÓÉORACLE°ïÎÒÃÇ×Ô¶¯¹ÜÀí£¬Èç¹ûÏëÒªÊÖ¶¯½øÐÐһЩ²Ù×÷µÄ»°£¬ÎÒÃÇ¿ÉÒÔʹÓÃÒþʽÓαêµÄÏà¹ØÊôÐÔ¡£È磺
SQL%FOUND ³É¹¦»ñÈ¡¼Ç¼·µ»Øtrue,·ñÔò·µ»Øfalse
SQL%NOTFOUND ³É¹¦»ñÈ¡¼Ç¼·µ»Øtrue,·ñÔò·µ»Øfalse
SQL%ROWCOUNT ·µ»Ø´ÓÓαêÖлñÈ¡µÄ¼Ç¼ÌõÊý
SQL%ISOPEN ×ÜÊÇ·µ»Øfalse
ÀûÓÃÒþʽÓαêÊôÐÔSQL%ROWCOUNT¿ÉÒÔ´ïµ½¼ÆËãɾ³ýÁ˶àÉÙÌõ¼Í¼¡£
     dbms_output.put_line('¿ªÊ¼É¾³ý'||v_score||'ÒÔϵÄͬѧ');
     DELETE from t_student WHERE s_score<v_score; --ɾ³ý±ÈÊäÈëµÄ³É¼¨¶¼ÒªÉÙµÄѧÉú
     IF SQL%FOUND THEN --Èç¹û¿ÉÒÔ´ÓÒþʽÓαêÖлñµÃÊý¾ÝÔò·µ»Øtrue
        dbms_output.put_line('ɾ³ýÁË'||SQL%ROWCOUNT||'¸öѧÉú'); --SQL%ROWCOUNT-ɾ³ýµÄѧÉúµÄ¼Ç¼ÌõÊý
     ELSE --Èç¹û²»ÄÜ´ÓÒþʽÓαêÖлñµÃÊý¾ÝÔò·µ»Øfalse
        dbms_output.put_line('ûÓÐɾ³ý¼Ç¼');
     END IF;
²Î¿¼
http://www.haoxiai.net/wangzhanzhizuo/shujuku/61234.html
http://blog.sina.com.cn/s/blog_610239f40100gow4.html


Ïà¹ØÎĵµ£º

oracleÖбȽÏʵÓÃsqlÓï¾ä

-- ²é¿´ORACLE Êý¾Ý¿âÖб¾Óû§ÏµÄËùÓбí
SELECT table_name from user_tables;
-- ²é¿´ORACLE Êý¾Ý¿âÖÐËùÓÐÓû§ÏµÄËùÓбí
select user,table_name from all_tables;
-- ²é¿´ORACLE Êý¾Ý¿âÖб¾Óû§ÏµÄËùÓÐÁÐ
select table_name,column_name from user_tab_columns;
-- ²é¿´ORACLE Êý¾Ý¿âÖб¾Óû§ÏµÄËùÓÐÁÐ
se ......

SQLÓï¾ä¼áÐÐתºáÁеÄÒ»ÖÖ·½·¨

¿âλ  »õÎï±àºÅ ¿â´æÊý
1     0101     50
1     0102     60
1     0103     50
2     0101     90
2     0103     100
2     0111     30
3     0101     12 ......

̸SQL Server 2005ÖеÄT SQLÔöÇ¿E


ÐµĹØÏµÔËËã·û PIVOT/UNPIVOT/APPLY
1¡¢PIVOT
PIVOTÔËËã·û½«ÐÐÐýתΪÁУ¬²¢ÇÒ¿ÉÄÜͬʱִÐоۺϡ£Ê¹ÓÃPIVOTÔËËã·ûʱҪעÒâµÄÖØÒªÒ»µãÊÇ£¬ÐèҪΪËüÌṩһ¸ö²éѯ±í´ïʽ£¬±í´ïʽʹÓÃÊÓͼ¡¢ÅÉÉú±í»òÕßÊÇCTEÖ»·µ»ØËù¹Ø×¢µÄÁС£
2¡¢UNPIVOT
UNPIVOTÔËËã·ûÖ´ÐÐÓëPIVOTÔËËã·ûÏà·´µÄ²Ù×÷£»Ëû½«ÁÐÐýתΪÐÐÁË¡£
3¡¢APPLY ......

SQL Server 2005ÖеÄT SQLÔöÇ¿F

DDL´¥·¢Æ÷ DDL Triggers
SQL Server 2005¿ÉÒÔ¾ÍÕû¸ö·þÎñÆ÷»òÊý¾Ý¿âµÄij¸ö·¶Î§ÎªDDLʼþ¶¨Òå´¥·¢Æ÷¡£Ò²¿ÉÒÔΪµ¥¸öDDLÓï¾ä£¨ÀýÈ磺CREAT_TABLE¡¢DROP_TABLEµÈ£©»òÕßΪһ×éÓï¾ä£¨ÀýÈ磺ָ¶¨DDL_DATABASE_LEVEL_EVENTSÏëÒª´¥·¢Æ÷´¥·¢Êý¾Ý¿âËùÓÐDDLʼþ£©¶¨ÒåDDL´¥·¢Æ÷¡£
ÔÚDDL´¥·¢Æ÷ÄÚ²¿£¬¿ÉÒÔͨ¹ý·ÃÎÊeventdata()º¯Êý»ñµÃÓ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ