±¾ÈËдµÄµÚÒ»¸öPL/SQL¹ý³Ì
¿´µ½±ðÈËÔÚÂÛ̳µÄÌáÎÊ£º
Ò»¸ö±íµÄЧÂÊÎÊÌâ
½ñÌìÅöµ½2Õűí
1ÕÅ ÓÐ×Ö¶Î
±íAÓÐ
jtbh(¼ÒÍ¥±àºÅ) hzxm(»§Ö÷ÐÕÃû) hnbh(»§ÄÚ×î´ó±àºÅ)
1000 ÕÅÈý 03
1001 ÕÔÁù..........................
±íBÓÐ
grbh£¨¸öÈ˱àºÅ=¼ÒÍ¥±àºÅ+2λ»§ÄÚ±àºÅ) xm(ÐÕÃû) gz(¹¤×Ê)
100001 ÕÅÈý 1000
100002 ÀîËÄ 1000
100003 ÍõÎå 1000
2ÕűíÊý¾Ý¼¸Ê®W¡£¡£¡£¡£ÏÖÔÚÓÉÓÚ֮ǰά»¤²»ºÃ£¬±íAµÄ×î´ó±àºÅûÓиüУ¬ÀýÈç±íB 1001Õâ»§ÈËÓÐ4¸ö±àºÅ£¬100101£¬100102 £¬100103£¬100105ÕâÑù£¬µ«ÊÇÎÒ±íA»§ÄÚ×î´ó±àºÅ¿ÉÄÜÖ»µ½ÁË04£¬¶øÊµ¼ÊÉÏÒªµ½05£¬ÇëÎʸ÷λ´óÏÀÈçºÎ¸üÐÂÓÐЧÂÊ£¬ÎÒ×Ô¼ºÐ´Á˸öЧÂÊÌ«µÍÁË¡£¡£¡£¡£¡£
ÓÚÊÇдÁËÏÂÃæµÄ¹ý³Ì£¬µÚÒ»´Îд£¬¼Ç¼һÏ¡£
CREATE PROCEDURE update_for_csdner();
CURSOR v_cursor IS SELECT MAX(substr(grbh, 4, 2)) hnbh, substr(grbh, 0, 4) jtbh from b GROUP BY substr(grbh, 0, 4);
v_jtbh VARCHAR2(4);
v_hnbh VARCHAR2(2);
BEGIN
OPEN v_cursor;
LOOP
FETCH v_cursor INTO v_hnbh, v_jtbh;
EXIT WHEN v_cursor%NOTFOUND;
UPDATE A SET hnbh = v_hnbh WHERE jtbh = v_jtbh;
COMMIT;
END LOOP;
CLOSE v_cursor;
END;
Ïà¹ØÎĵµ£º
ORACLE SQLÓÅ»¯
£¨1£© Ñ¡Ôñ×îÓÐЧÂʵıíÃû˳Ðò(Ö»ÔÚ»ùÓÚ¹æÔòµÄÓÅ»¯Æ÷ÖÐÓÐЧ)£º
ORACLE µÄ½âÎöÆ÷°´ÕÕ´ÓÓÒµ½×óµÄ˳Ðò´¦Àífrom ×Ó¾äÖеıíÃû£¬from ×Ó¾äÖÐдÔÚ×îºóµÄ±í
(»ù´¡±ídriving table)½«±»×îÏÈ´¦Àí£¬ÔÚfrom ×Ó¾äÖаüº¬¶à¸ö±íµÄÇé¿öÏÂ,Äã±ØÐëÑ¡Ôñ¼Ç
¼ÌõÊý×îÉٵıí×÷Ϊ»ù´¡±í¡£Èç¹ûÓÐ3¸öÒÔÉϵıíÁ¬½Ó²éѯ, ÄǾÍÐè ......
ÔÚsql²éѯ·ÖÎöÆ÷ÀïÃæÊDz»ÄÜÖ±½ÓÔËÐÐcmdÃüÁîµÄ
µ«ÊÇSQL¸ø³öÁËÒ»¸ö½Ó¿Ú
--´ò¿ª¸ß¼¶ÉèÖÃ
EXEC sp_configure 'show advanced options', 1
RECONFIGURE
--´ò¿ªxp_cmdshellÀ©Õ¹´æ´¢¹ý³Ì
EXEC sp_configure 'xp_cmdshell', 1
RECONFIGURE
Ê×ÏÈ ´ò¿ªÒ»Ð©ÅäÖÃ
È»ºóÖ´ÐÐÄãÒªÔËÐÐcmdÃüÁî
exec master..xp_cmdshell 'net star ......
ÎÒÃǶ¼ÖªµÀÔÚOracleÖÐÿÌõSQLÓï¾äÔÚÖ´ÐÐ֮ǰ¶¼ÐèÒª¾¹ý½âÎö£¬ÕâÀïÃæÓÖ·ÖΪÈí½âÎöºÍÓ²½âÎö¡£ÔÚOracleÖдæÔÚÁ½ÖÖÀàÐ͵ÄSQLÓï¾ä£¬Ò»ÀàΪ
DDLÓï¾ä£¨Êý¾Ý¶¨ÒåÓïÑÔ£©£¬ËûÃÇÊÇ´ÓÀ´²»»á¹²ÏíʹÓõģ¬Ò²¾ÍÊÇÿ´ÎÖ´Ðж¼ÐèÒª½øÐÐÓ²½âÎö¡£»¹ÓÐÒ»Àà¾ÍÊÇDMLÓï¾ä£¨Êý¾Ý²Ù×ÝÓïÑÔ£©£¬ËûÃÇ»á¸ù¾ ......
ÔÚÎÒÃÇÈÕ³£Ê¹ÓÃSQL ServerÊý¾Ý¿âʱ£¬¾³£Óöµ½ÐèÒªÔÚʵÀýInstance01ÖпçʵÀý·ÃÎÊInstance02ÖеÄÊý¾Ý¡£ÀýÈçÔÚ×öÊý¾ÝÇ¨ÒÆÊ±£¬ÈçÏÂÓï¾ä:
insert into Instance01.DB01.dbo.Table01
select * from Instance02.DB01.dbo.Table01
ÆÕͨÇé¿öÏ£¬ÕâÑù×öÊDz»ÔÊÐíµÄ£¬ÒòΪSQ ......
´´½¨Íâ¼üÔ¼Êø
CREATE TABLE order_sample
(
orderid int PRIMARY KEY,
cust_id int FOREIGN KEY REFERENCES cuts_sample(cust_id) ON DELETE NO CASCADE
)
ON DELETE--ÓÃÓÚ¿ØÖƳ¢ÊÔɾ³ýÍâ¼üÏà¹ØÁªµÄÖ÷±íÖ¸ÏòÐÐʱ²ÉÈ¡µÄ²Ù×÷
-NO ACTION
ɾ³ýÍâ¼üÏà¹ØÁªµÄÖ÷±íÖ¸ÏòÐÐʱ£¬±¨´í
-CASCADE
ɾ³ýÍâ¼üÏà¹ØÁªµÄÖ÷±íÖ¸ÏòÐÐʱ ......