SQL Server:½«ÁиüдÓÒ»¸ö±í´«µÝµ½ÁíÒ»¸ö±í
ÎÊ£ºÔõÑùÔÚÒ»¸öUPDATEÓï¾äÖÐʹÓñíBµÄÈý¸öÁиüбíAÖеÄÈý¸öÁУ¿
¡¡¡¡´ð£º¶ÔÕâ¸öÎÊÌ⣬Äú¿ÉÒÔʹÓÃÇ¿´óµÄ¹Øϵ´úÊý¡£±¾Ò³ÖеĴúÂë˵Ã÷ÁËÈçºÎ×éºÏʹÓÃfrom×Ó¾äºÍJOIN²Ù×÷£¬ÒÔ´ïµ½ÓÃÆäËû±íÖÐÊý¾Ý¸üÐÂÖ¸¶¨ÁеÄÄ¿µÄ¡£ÔÚÉè¼Æ¹Øϵ±í´ïʽʱ£¬ÄúÐèÒª¾ö¶¨ÊÇ·ñÐèÒªµ¥Ò»ÐÐÆ¥Åä¶à¸öÐУ¨Ò»¶Ô¶à¹Øϵ£©£¬»òÕßÐèÒª¶à¸öÐÐÆ¥Åä±»Áª½Ó±íÖеĵ¥Ò»ÐÐÒÔ¸üÐÂËùÓÐÐУ¨¶à¶ÔÒ»¹Øϵ£©¡£
¡¡¡¡ÔÚÒ»¶Ô¶à¹ØϵÖУ¬SQL ServerʼÖÕʹÓÃËüÕÒµ½µÄ×îºóÒ»ÐиüÐÂÊý¾Ý¡£µ«ÊÇ£¬ÄúÎÞ·¨¿ØÖÆ×îºóÒ»ÐÐËùÔÚµÄλÖá£ÔڶദÀíÆ÷µÄ¼ÆËã»úÉÏ£¬²éѯ¿ÉÄÜÊÇͬ²½½øÐеģ¬ÏàͬµÄ²éѯ×îºóÒ»ÐеÄλÖÿÉÄܻ᲻ͬ¡£Òò´Ë£¬Microsoft½¨Ò龡Á¿²»ÒªÊ¹ÓÃÒ»¶Ô¶à¹Øϵ¡£
¡¡¡¡Èç¹û´ý¸üеıíÓëfrom×Ó¾äÖеıíÏàͬ£¬²¢ÇÒfrom×Ó¾äÖ»°üº¬¶Ô¸Ã±íµÄÒ»¸öÒýÓ㬱ðÃû¿ÉÄÜδ±»Ö¸¶¨¡£Èç¹û´ý¸üеıíÔÚfrom×Ó¾äÖгöÏÖÁ˶à´Î£¬Ö»ÓиñíµÄÒ»¸öÒýÓÿÉÒÔÊ¡ÂÔ±íµÄ±ðÃû£¬¶Ô¸Ã±íµÄËùÓÐÆäËûÒýÓñØÐë°üº¬Ò»¸ö±í±ðÃû¡£
USE tempdb
GO
CREATE TABLE #t1 (c1 int NOT NULL, c2 char(5), c3 char(5),
c4 char(5))
GO
CREATE TABLE #t2 (c1 int NOT NULL, c2 char(5), c3 char(5),
c4 char(5))
GO
--Êý¾Ý¸³Öµ
INSERT #t1 values (1,'hello','there','fred')
INSERT #t2 values (1,'how','are','you?')
--¸üÐÂÊý¾Ý
UPDATE #t1 SET #t1.c2 = #t2.c2, #t1.c3 = #t2.c3,
#t1.c4 = #t2.c4
from #t2
WHERE #t1.c1 = #t2.c1
--¼ì²é½á¹û
SELECT * from #t1
Ïà¹ØÎĵµ£º
OracleÖÐÈçºÎÓÃÒ»ÌõSQL¿ìËÙÉú³É10ÍòÌõ²âÊÔÊý¾Ý
×öÊý¾Ý¿â¿ª·¢»ò¹ÜÀíµÄÈ˾³£Òª´´½¨´óÁ¿µÄ²âÊÔÊý¾Ý£¬¶¯²»¶¯¾ÍÐèÒªÉÏÍòÌõ£¬Èç¹ûÒ»ÌõÒ»ÌõµÄ¼È룬
ÄÇ»áÀË·Ñ´óÁ¿µÄʱ¼ä£¬±¾ÎĽéÉÜÁËOracleÖÐÈçºÎͨ¹ýÒ»ÌõSQL¿ìËÙÉú³É´óÁ¿µÄ²âÊÔÊý¾ÝµÄ·½·¨¡£
²úÉú²âÊÔÊý¾ÝµÄSQLÈçÏ£º
SQL> select rownum as id,
&nb ......
declare @tb3 table (ÉÌÆ·±àºÅ nvarchar(10),Åú´ÎºÅ nvarchar(10),¿â´æÊýÁ¿ int,³ö¿âÊýÁ¿ int)
declare @tb1 table (ÉÌÆ·±àºÅ nvarchar(10),Åú´ÎºÅ nvarchar(10),¿â´æÊýÁ¿ int)
insert into @tb1 select '0001','090801',200
union all select '0001','090501',50
&n ......
¡¡¡¡20ÊÀ¼Í£¸£°Äê´ú³õ£¬ANSI£¨American¡¡National¡¡Standard¡¡Institute£©¡¡Êý¾Ý¿â±ê׼ίԱ»á¿ªÊ¼Öƶ©Ïà¹Ø¹ØϵÓïÑԵıê×¼£¬µ«Ö±µ½£±£¹£¸£¶Ä꣬Êý¾Ý¿â±ê׼ίԱ»á²ÅÍƳöµÚÒ»¸öSQLÓïÑÔ±ê×¼SQL-86¡£Ëæ×ÅÊý¾Ý¿â¼¼ÊõµÄ·¢Õ¹£¬SQL±ê×¼Ò²ÔÚ²»¶Ï½øÐÐÀ©Õ¹ºÍÐÞÕý£¬²¢ÇÒÊý¾Ý¿â±ê׼ίԱ»áÏȺóÓÖÍƳöSQL-89£¬SQL-92ÒÔ¼°SQL-99±ê×¼¡££±£¹£·£ ......
1.OracleÔõÑù´æ´¢Îı¾
CHARºÍVARCHAR2µÄÇø±ð
•CHAR¶¨³¤×Ö·û´®£¬VARCHAR2±ä³¤×Ö·û´®¡£
•CHAR(n) ¶¨³¤×Ö·û´®£¬n×Ö½Ú£¬nµÄÈ¡Öµ·¶Î§£º1~2000×Ö½Ú¡£
•VARCHAR2(n) ¿É±ä³¤µÄ×Ö·û´®£¬¶¨ÒåʱӦָÃ÷×î´ó³¤¶È£¬È¡Öµ·¶Î§£º1~ 4000×Ö½Ú¡£
2. OracleÔõÑù´æ´¢ÊýÖµ
ÊýÖµÀàÐÍ˵Ã÷£º NUMBER£¨m , n£©
Êý×Ö ......
1.ϵͳ±äÁ¿º¯Êý
£¨1£©SYSDATE
¸Ãº¯Êý·µ»Øµ±Ç°µÄÈÕÆÚºÍʱ¼ä¡£·µ»ØµÄÊÇOracle·þÎñÆ÷µÄµ±Ç°ÈÕÆÚºÍʱ¼ä¡£
select sysdate from dual;
insert into purchase values
(‘Small Widget’,’SH’,sysdate, 10);
insert into purchase values
(‘Meduem Wodget’,’SH’, ......