×¢²á | µÇ¼ Íü¼ÇÃÜÂ룿 51ctoÊ×Ò³ | ²©¿Í | ÂÛ̳ | ÕÐÆ¸
ÈȵãÎÄÕ ¶Ô½­Î÷ijµçÐÅ·þÎñÆ÷µÄÒ»´Î..
¡¡°ïÖú

sql¾«µäÕZ¾ä


2007-07-05 15:59:36
¡¡±êÇ©£ºsql¡¡¡¡¡¡[ÍÆË͵½¼¼ÊõȦ]

ÏÂÁÐÓï¾ä²¿·ÖÊÇMssqlÓï¾ä£¬²»¿ÉÒÔÔÚaccessÖÐʹÓá£

SQL·ÖÀࣺ
DDL¡ªÊý¾Ý¶¨ÒåÓïÑÔ(CREATE£¬ALTER£¬DROP£¬DECLARE)
DML¡ªÊý¾Ý²Ù×ÝÓïÑÔ(SELECT£¬DELETE£¬UPDATE£¬INSERT)
DCL¡ªÊý¾Ý¿ØÖÆÓïÑÔ(GRANT£¬REVOKE£¬COMMIT£¬ROLLBACK)

Ê×ÏÈ,¼òÒª½éÉÜ»ù´¡Óï¾ä£º
1¡¢ËµÃ÷£º´´½¨Êý¾Ý¿â
CREATE DATABASE database-name
2¡¢ËµÃ÷£ºÉ¾³ýÊý¾Ý¿â
drop database dbname
3¡¢ËµÃ÷£º±¸·Ýsql server
--- ´´½¨ ±¸·ÝÊý¾ÝµÄ device
USE master
EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'
--- ¿ªÊ¼ ±¸·Ý
BACKUP DATABASE pubs TO testBack
4¡¢ËµÃ÷£º´´½¨Ð±í
create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)
¸ù¾ÝÒÑÓÐµÄ±í´´½¨ÐÂ±í£º
A£ºcreate table tab_new like tab_old (ʹÓÃ¾É±í´´½¨Ð±í)
B£ºcreate table tab_new as select col1,col2¡­ from tab_old definition only
5¡¢ËµÃ÷£ºÉ¾³ýбídrop table tabname
6¡¢ËµÃ÷£ºÔö¼ÓÒ»¸öÁÐ
Alter table tabname add column col type
×¢£ºÁÐÔö¼Óºó½«²»ÄÜɾ³ý¡£DB2ÖÐÁмÓÉϺóÊý¾ÝÀàÐÍÒ²²»Äܸı䣬ΨһÄܸıäµÄÊÇÔö¼ÓvarcharÀàÐ͵ij¤¶È¡£
7¡¢ËµÃ÷£ºÌí¼ÓÖ÷¼ü£º Alter table tabname add primary key(col)
˵Ã÷£ºÉ¾³ýÖ÷¼ü£º Alter table tabname drop primary key(col)
8¡¢ËµÃ÷£º´´½¨Ë÷Òý£ºcreate [unique] index idxname on tabname(col¡­.)
ɾ³ýË÷Òý£ºdrop index idxname
×¢£ºË÷ÒýÊDz»¿É¸ü¸ÄµÄ£¬Ïë¸ü¸Ä±ØÐëɾ³ýÖØÐ½¨¡£
9¡¢ËµÃ÷£º´´½¨ÊÓͼ£ºcreate view viewname as select statement
ɾ³ýÊÓͼ£ºdrop view viewname
10¡¢ËµÃ÷£º¼¸¸ö¼òµ¥µÄ»ù±¾µÄsqlÓï¾ä
Ñ¡Ôñ£ºselect * from table1 where ·¶Î§
²åÈ룺insert into table1(field1,field2) values(value1,value2)
ɾ³ý£ºdelete from table1 where ·¶Î§
¸üУºupdate table1 set field1=value1 where ·¶Î§
²éÕÒ£ºselect * from table1 where field1 like ¡¯%value1%¡¯ ---likeµÄÓï·¨ºÜ¾«Ã²é×ÊÁÏ!
ÅÅÐò£ºselect * from table1 order by field1,field2 [desc]
×ÜÊý£ºselect count * as totalcount from table1
ÇóºÍ£ºselect sum(field1) as sumvalue from table1
ƽ¾ù£ºselect avg(field1) as avgvalue from table1
×î´ó£ºselect max(field1) as maxvalue from table1
×îС£ºselect min(field1) as minvalue from table1
11¡¢ËµÃ÷£º¼¸¸ö¸ß¼¶²éѯÔËËã´Ê
A£º UNION ÔËËã·û
UNION ÔËËã·ûͨ¹ý×éºÏÆäËûÁ½¸ö½á¹û±í£¨ÀýÈç TABLE1 ºÍ TABLE2£©²¢ÏûÈ¥±íÖÐÈκÎÖØ¸´ÐжøÅÉÉú³öÒ»¸ö½á¹û±í¡£µ± ALL Ëæ UNION Ò»ÆðʹÓÃʱ£¨¼´ UNION ALL£©£¬²»Ïû³ýÖØ¸´ÐС£Á½ÖÖÇé¿öÏ£¬ÅÉÉú±íµÄÿһÐв»ÊÇÀ´×Ô TABLE1 ¾ÍÊÇÀ´×Ô TABLE2¡£
B£º EXCEPT ÔËËã·û
EXCEPT ÔËËã·ûͨ¹ý°üÀ¨ËùÓÐÔÚ TABLE1 Öе«²»ÔÚ TABLE2 ÖеÄÐв¢Ïû³ýËùÓÐÖØ¸´ÐжøÅÉÉú³öÒ»¸ö½á¹û±í¡£µ± ALL Ëæ EXCEPT Ò»ÆðʹÓÃʱ (EXCEPT ALL)£¬²»Ïû³ýÖØ¸´ÐС£
C£º INTERSECT ÔËËã·û
INTERSECT ÔËËã·ûͨ¹ýÖ»°üÀ¨ TABLE1 ºÍ TABLE2 Öж¼ÓеÄÐв¢Ïû³ýËùÓÐÖØ¸´ÐжøÅÉÉú³öÒ»¸ö½á¹û±í¡£µ± ALL Ëæ INTERSECT Ò»ÆðʹÓÃʱ (INTERSECT ALL)£¬²»Ïû³ýÖØ¸´ÐС£
×¢£ºÊ¹ÓÃÔËËã´ÊµÄ¼¸¸ö²éѯ½á¹ûÐбØÐëÊÇÒ»Öµġ£
12¡¢ËµÃ÷£ºÊ¹ÓÃÍâÁ¬½Ó
A¡¢left outer join£º
×óÍâÁ¬½Ó£¨×óÁ¬½Ó£©£º½á¹û¼¯¼¸°üÀ¨Á¬½Ó±íµÄÆ¥ÅäÐУ¬Ò²°üÀ¨×óÁ¬½Ó±íµÄËùÓÐÐС£
SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c
B£ºright outer join:
ÓÒÍâÁ¬½Ó(ÓÒÁ¬½Ó)£º½á¹û¼¯¼È°üÀ¨Á¬½Ó±íµÄÆ¥ÅäÁ¬½ÓÐУ¬Ò²°üÀ¨ÓÒÁ¬½Ó±íµÄËùÓÐÐС£
C£ºfull outer join£º
È«ÍâÁ¬½Ó£º²»½ö°üÀ¨·ûºÅÁ¬½Ó±íµÄÆ¥ÅäÐУ¬»¹°üÀ¨Á½¸öÁ¬½Ó±íÖеÄËùÓмǼ¡£

Æä´Î£¬´ó¼ÒÀ´¿´Ò»Ð©²»´íµÄsqlÓï¾ä
1¡¢ËµÃ÷£º¸´ÖƱí(Ö»¸´Öƽṹ,Ô´±íÃû£ºa бíÃû£ºb) (Access¿ÉÓÃ)
·¨Ò»£ºselect * into b from a where 1<>1
·¨¶þ£ºselect top 0 * into b from a

2¡¢ËµÃ÷£º¿½±´±í(¿½±´Êý¾Ý,Ô´±íÃû£ºa Ä¿±ê±íÃû£ºb) (Access¿ÉÓÃ)
insert into b(a, b, c) select d,e,f from b;

3¡¢ËµÃ÷£º¿çÊý¾Ý¿âÖ®¼ä±íµÄ¿½±´(¾ßÌåÊý¾ÝʹÓþø¶Ô·¾¶) (Access¿ÉÓÃ)
insert into b(a, b, c) select d,e,f from b in ¡®¾ßÌåÊý¾Ý¿â¡¯ where Ìõ¼þ
Àý×Ó£º..from b in '"&Server.MapPath(".")&"\data.mdb" &"' where..

4¡¢ËµÃ÷£º×Ó²éѯ(±íÃû1£ºa ±íÃû2£ºb)
select a,b,c from a where a IN (select d from b ) »òÕß: select a,b,c from a where a IN (1,2,3)

5¡¢ËµÃ÷£ºÏÔʾÎÄÕ¡¢Ìá½»È˺Í×îºó»Ø¸´Ê±¼ä
select a.title,a.username,b.adddate from table a,(select max(adddate) adddate from table where table.title=a.title) b

6¡¢ËµÃ÷£ºÍâÁ¬½Ó²éѯ(±íÃû1£ºa ±íÃû2£ºb)
select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c

7¡¢ËµÃ÷£ºÔÚÏßÊÓͼ²éѯ(±íÃû1£ºa )
select * from (SELECT a,b,c FROM a) T where t.a > 1;

8¡¢ËµÃ÷£ºbetweenµÄÓ÷¨,betweenÏÞÖÆ²éѯÊý¾Ý·¶Î§Ê±°üÀ¨Á˱߽çÖµ,not between²»°üÀ¨
select * from table1 where time between time1 and time2
select a,b,c, from table1 where a not between ÊýÖµ1 and ÊýÖµ2

9¡¢ËµÃ÷£ºin µÄʹÓ÷½·¨
select * from table1 where a [not] in (¡®Öµ1¡¯,¡¯Öµ2¡¯,¡¯Öµ4¡¯,¡¯Öµ6¡¯)

10¡¢ËµÃ÷£ºÁ½ÕŹØÁª±í£¬É¾³ýÖ÷±íÖÐÒѾ­ÔÚ¸±±íÖÐûÓеÄÐÅÏ¢
delete from table1 where not exists ( select * from table2 where table1.field1=table2.field1 )

11¡¢ËµÃ÷£ºËıíÁª²éÎÊÌ⣺
select * from a left inner join b on a.a=b.b right inner join c on a.a=c.c inner join d on a.a=d.d where .....

12¡¢ËµÃ÷£ºÈճ̰²ÅÅÌáǰÎå·ÖÖÓÌáÐÑ
SQL: select * from Èճ̰²ÅÅ where datediff('minute',f¿ªÊ¼Ê±¼ä,getdate())>5

13¡¢ËµÃ÷£ºÒ»Ìõsql Óï¾ä¸ã¶¨Êý¾Ý¿â·ÖÒ³
select top 10 b.* from (select top 20 Ö÷¼ü×Ö¶Î,ÅÅÐò×Ö¶Î from ±íÃû order by ÅÅÐò×Ö¶Î desc) a,±íÃû b where b.Ö÷¼ü×Ö¶Î = a.Ö÷¼ü×Ö¶Î order by a.ÅÅÐò×Ö¶Î

14¡¢ËµÃ÷£ºÇ°10Ìõ¼Ç¼
select top 10 * form table1 where ·¶Î§

15¡¢ËµÃ÷£ºÑ¡ÔñÔÚÿһ×ébÖµÏàͬµÄÊý¾ÝÖжÔÓ¦µÄa×î´óµÄ¼Ç¼µÄËùÓÐÐÅÏ¢(ÀàËÆÕâÑùµÄÓ÷¨¿ÉÒÔÓÃÓÚÂÛ̳ÿÔÂÅÅÐаñ,ÿÔÂÈÈÏú²úÆ··ÖÎö,°´¿ÆÄ¿³É¼¨ÅÅÃû,µÈµÈ.)
select a,b,c from tablename ta where a=(select max(a) from tablename tb where tb.b=ta.b)

16¡¢ËµÃ÷£º°üÀ¨ËùÓÐÔÚ TableA Öе«²»ÔÚ TableBºÍTableC ÖеÄÐв¢Ïû³ýËùÓÐÖØ¸´ÐжøÅÉÉú³öÒ»¸ö½á¹û±í
(select a from tableA ) except (select a from tableB) except (select a from tableC)

17¡¢ËµÃ÷£ºËæ»úÈ¡³ö10ÌõÊý¾Ý
select top 10 * from tablename order by newid()

18¡¢ËµÃ÷£ºËæ»úÑ¡Ôñ¼Ç¼
select newid()

19¡¢ËµÃ÷£ºÉ¾³ýÖØ¸´¼Ç¼
Delete from tablename where id not in (select max(id) from tablename group by col1,col2,...)

20¡¢ËµÃ÷£ºÁгöÊý¾Ý¿âÀïËùÓеıíÃû
select name from sysobjects where type='U'

21¡¢ËµÃ÷£ºÁгö±íÀïµÄËùÓеÄ
select name from syscolumns where id=object_id('TableName')

22¡¢ËµÃ÷£ºÁÐʾtype¡¢vender¡¢pcs×ֶΣ¬ÒÔtype×Ö¶ÎÅÅÁУ¬case¿ÉÒÔ·½±ãµØÊµÏÖ¶àÖØÑ¡Ôñ£¬ÀàËÆselect ÖеÄcase¡£
select type,sum(case vender when 'A' then pcs else 0 end),sum(case vender when 'C' then pcs else 0 end),sum(case vender when 'B' then pcs else 0 end) FROM tablename group by type
ÏÔʾ½á¹û£º
type vender pcs
µçÄÔ A 1
µçÄÔ A 1
¹âÅÌ B 2
¹âÅÌ A 2
ÊÖ»ú B 3
ÊÖ»ú C 3

23¡¢ËµÃ÷£º³õʼ»¯±ítable1
TRUNCATE TABLE table1

24¡¢ËµÃ÷£ºÑ¡Ôñ´Ó10µ½15µÄ¼Ç¼
select top 5 * from (select top 15 * from table order by id asc) table_±ðÃû order by id desc
¡¡¡¡
Ëæ»úÑ¡ÔñÊý¾Ý¿â¼Ç¼µÄ·½·¨£¨Ê¹ÓÃRandomizeº¯Êý£¬Í¨¹ýSQLÓï¾äʵÏÖ£©
¡¡¡¡¶Ô´æ´¢ÔÚÊý¾Ý¿âÖеÄÊý¾ÝÀ´Ëµ£¬Ëæ»úÊýÌØÐÔÄܸø³öÉÏÃæµÄЧ¹û£¬µ«ËüÃÇ¿ÉÄÜÌ«ÂýÁËЩ¡£Äã²»ÄÜÒªÇóASP¡°ÕÒ¸öËæ»úÊý¡±È»ºó´òÓ¡³öÀ´¡£Êµ¼ÊÉϳ£¼ûµÄ½â¾ö·½°¸Êǽ¨Á¢ÈçÏÂËùʾµÄÑ­»·£º
Randomize
RNumber = Int(Rnd*499) +1
¡¡
While Not objRec.EOF
If objRec("ID") = RNumber THEN
... ÕâÀïÊÇÖ´Ðнű¾ ...
end if
objRec.MoveNext
Wend
¡¡
¡¡¡¡ÕâºÜÈÝÒ×Àí½â¡£Ê×ÏÈ£¬ÄãÈ¡³ö1µ½500·¶Î§Ö®ÄÚµÄÒ»¸öËæ»úÊý£¨¼ÙÉè500¾ÍÊÇÊý¾Ý¿âÄڼǼµÄ×ÜÊý£©¡£È»ºó£¬Äã±éÀúÿһ¼Ç¼À´²âÊÔID µÄÖµ¡¢¼ì²éÆäÊÇ·ñÆ¥ÅäRNumber¡£Âú×ãÌõ¼þµÄ»°¾ÍÖ´ÐÐÓÉTHEN ¹Ø¼ü×Ö¿ªÊ¼µÄÄÇÒ»¿é´úÂë¡£¼ÙÈçÄãµÄRNumber µÈÓÚ495£¬ÄÇôҪѭ»·Ò»±éÊý¾Ý¿â»¨µÄʱ¼ä¿É¾Í³¤ÁË¡£ËäÈ»500Õâ¸öÊý×Ö¿´ÆðÀ´´óÁËЩ£¬µ«Ïà±È¸üΪÎÈ¹ÌµÄÆóÒµ½â¾ö·½°¸Õ⻹ÊǸöСÐÍÊý¾Ý¿âÁË£¬ºóÕßͨ³£ÔÚÒ»¸öÊý¾Ý¿âÄھͰüº¬Á˳ÉǧÉÏÍòÌõ¼Ç¼¡£Õâʱºò²»¾ÍËÀ¶¨ÁË£¿
¡¡¡¡²ÉÓÃSQL£¬Äã¾Í¿ÉÒÔºÜ¿ìµØÕÒ³ö׼ȷµÄ¼Ç¼²¢ÇÒ´ò¿ªÒ»¸öÖ»°üº¬¸Ã¼Ç¼µÄrecordset£¬ÈçÏÂËùʾ£º
Randomize
RNumber = Int(Rnd*499) + 1
¡¡
SQL = "SELECT * FROM Customers WHERE ID = " & RNumber
¡¡
set objRec = ObjConn.Execute(SQL)
Response.WriteRNumber & " = " & objRec("ID") & " " & objRec("c_email")
¡¡
¡¡¡¡²»±ØÐ´³öRNumber ºÍID£¬ÄãÖ»ÐèÒª¼ì²éÆ¥ÅäÇé¿ö¼´¿É¡£Ö»ÒªÄã¶ÔÒÔÉÏ´úÂëµÄ¹¤×÷ÂúÒ⣬Äã×Կɰ´Ðè²Ù×÷¡°Ëæ»ú¡±¼Ç¼¡£RecordsetûÓаüº¬ÆäËûÄÚÈÝ£¬Òò´ËÄãºÜ¿ì¾ÍÄÜÕÒµ½ÄãÐèÒªµÄ¼Ç¼ÕâÑù¾Í´ó´ó½µµÍÁË´¦Àíʱ¼ä¡£
ÔÙÌ¸Ëæ»úÊý
¡¡¡¡ÏÖÔÚÄã϶¨¾öÐÄÒªÕ¥¸ÉRandom º¯ÊýµÄ×îºóÒ»µÎÓÍ£¬ÄÇôÄã¿ÉÄÜ»áÒ»´ÎÈ¡³ö¶àÌõËæ»ú¼Ç¼»òÕßÏë²ÉÓÃÒ»¶¨Ëæ»ú·¶Î§ÄڵļǼ¡£°ÑÉÏÃæµÄ±ê×¼Random ʾÀýÀ©Õ¹Ò»Ï¾ͿÉÒÔÓÃSQLÓ¦¶ÔÉÏÃæÁ½ÖÖÇé¿öÁË¡£
¡¡¡¡ÎªÁËÈ¡³ö¼¸ÌõËæ»úÑ¡ÔñµÄ¼Ç¼²¢´æ·ÅÔÚͬһrecordsetÄÚ£¬Äã¿ÉÒÔ´æ´¢Èý¸öËæ»úÊý£¬È»ºó²éѯÊý¾Ý¿â»ñµÃÆ¥ÅäÕâЩÊý×ֵļǼ£º
SQL = "SELECT * FROM Customers WHERE ID = " & RNumber & " OR ID = " & RNumber2 & " OR ID = " & RNumber3
¡¡
¡¡¡¡¼ÙÈçÄãÏëÑ¡³ö10Ìõ¼Ç¼£¨Ò²ÐíÊÇÿ´ÎÒ³Ãæ×°ÔØÊ±µÄ10ÌõÁ´½ÓµÄÁÐ±í£©£¬Äã¿ÉÒÔÓÃBETWEEN »òÕßÊýѧµÈʽѡ³öµÚÒ»Ìõ¼Ç¼ºÍÊʵ±ÊýÁ¿µÄµÝÔö¼Ç¼¡£ÕâÒ»²Ù×÷¿ÉÒÔͨ¹ýºÃ¼¸ÖÖ·½Ê½À´Íê³É£¬µ«ÊÇ SELECT Óï¾äÖ»ÏÔʾһÖÖ¿ÉÄÜ£¨ÕâÀïµÄID ÊÇ×Ô¶¯Éú³ÉµÄºÅÂ룩£º
SQL = "SELECT * FROM Customers WHERE ID BETWEEN " & RNumber & " AND " & RNumber & "+ 9"

¡¡¡¡×¢Ò⣺ÒÔÉÏ´úÂëµÄÖ´ÐÐÄ¿µÄ²»ÊǼì²éÊý¾Ý¿âÄÚÊÇ·ñÓÐ9Ìõ²¢·¢¼Ç¼¡£

¡¡
Ëæ»ú¶ÁÈ¡Èô¸ÉÌõ¼Ç¼£¬²âÊÔ¹ý
AccessÓï·¨£ºSELECT top 10 * From ±íÃû ORDER BY Rnd(id)
Sql server:select top n * from ±íÃû order by newid()
mysql:select * From ±íÃû Order By rand() Limit n
Access×óÁ¬½ÓÓï·¨(×î½ü¿ª·¢ÒªÓÃ×óÁ¬½Ó,Access°ïÖúʲô¶¼Ã»ÓÐ,ÍøÉÏûÓÐAccessµÄSQL˵Ã÷,Ö»ÓÐ×Ô¼º²âÊÔ, ÏÖÔÚ¼ÇÏÂÒÔ±¸ºó²é)
Óï·¨:select table1.fd1,table1,fd2,table2.fd2 From table1 left join table2 on table1.fd1,table2.fd1 where ...
ʹÓÃSQLÓï¾ä ÓÃ...´úÌæ¹ý³¤µÄ×Ö·û´®ÏÔʾ
Óï·¨£º
SQLÊý¾Ý¿â£ºselect case when len(field)>10 then left(field,10)+'...' else field end as news_name,news_id from tablename
AccessÊý¾Ý¿â£ºSELECT iif(len(field)>2,left(field,2)+'...',field) FROM tablename;
¡¡
Conn.Execute˵Ã÷
Execute·½·¨
¡¡¡¡¸Ã·½·¨ÓÃÓÚÖ´ÐÐSQLÓï¾ä¡£¸ù¾ÝSQLÓï¾äÖ´ÐкóÊÇ·ñ·µ»Ø¼Ç¼¼¯£¬¸Ã·½·¨µÄʹÓøñʽ·ÖΪÒÔÏÂÁ½ÖÖ£º
¡¡¡¡¡¡¡¡1£®Ö´ÐÐSQL²éѯÓï¾äʱ£¬½«·µ»Ø²éѯµÃµ½µÄ¼Ç¼¼¯¡£Ó÷¨Îª£º
¡¡¡¡¡¡¡¡Set ¶ÔÏó±äÁ¿Ãû=Á¬½Ó¶ÔÏó.Execute("SQL ²éѯÓïÑÔ")
¡¡¡¡¡¡Execute·½·¨µ÷Óú󣬻á×Ô¶¯´´½¨¼Ç¼¼¯¶ÔÏ󣬲¢½«²éѯ½á¹û´æ´¢ÔڸüǼ¶ÔÏóÖУ¬Í¨¹ýSet·½·¨£¬½«¼Ç¼¼¯¸³¸øÖ¸¶¨µÄ¶ÔÏ󱣴棬ÒÔºó¶ÔÏó±äÁ¿¾Í´ú±íÁ˸üǼ¼¯¶ÔÏó¡£

¡¡¡¡¡¡¡¡2£®Ö´ÐÐSQLµÄ²Ù×÷ÐÔÓïÑÔʱ£¬Ã»ÓмǼ¼¯µÄ·µ»Ø¡£´ËʱÓ÷¨Îª£º
¡¡¡¡¡¡¡¡Á¬½Ó¶ÔÏó.Execute "SQL ²Ù×÷ÐÔÓï¾ä" [, RecordAffected][, Option]
¡¡¡¡¡¡¡¡¡¡¡¡¡¤RecordAffected Ϊ¿ÉÑ¡Ï´Ë³ö¿É·ÅÖÃÒ»¸ö±äÁ¿£¬SQLÓï¾äÖ´Ðкó£¬ËùÉúЧµÄ¼Ç¼Êý»á×Ô¶¯±£´æµ½¸Ã±äÁ¿ÖС£Í¨¹ý·ÃÎʸñäÁ¿£¬¾Í¿ÉÖªµÀSQLÓï¾ä¶Ó¶àÉÙÌõ¼Ç¼½øÐÐÁ˲Ù×÷¡£
¡¡¡¡¡¡¡¡¡¡¡¡¡¤Option ¿ÉÑ¡Ï¸Ã²ÎÊýµÄȡֵͨ³£ÎªadCMDText£¬ËüÓÃÓÚ¸æËßADO£¬Ó¦¸Ã½«Execute·½·¨Ö®ºóµÄµÚÒ»¸ö×Ö·û½âÊÍΪÃüÁîÎı¾¡£Í¨¹ýÖ¸¶¨¸Ã²ÎÊý£¬¿ÉʹִÐиü¸ßЧ¡£

¡¤BeginTrans¡¢RollbackTrans¡¢CommitTrans·½·¨
¡¡¡¡ÕâÈý¸ö·½·¨ÊÇÁ¬½Ó¶ÔÏóÌṩµÄÓÃÓÚÊÂÎñ´¦ÀíµÄ·½·¨¡£BeginTransÓÃÓÚ¿ªÊ¼Ò»¸öÊÂÎRollbackTransÓÃÓڻعöÊÂÎñ£»CommitTransÓÃÓÚÌá½»ËùÓеÄÊÂÎñ´¦Àí½á¹û£¬¼´È·ÈÏÊÂÎñµÄ´¦Àí¡£
¡¡¡¡ÊÂÎñ´¦Àí¿ÉÒÔ½«Ò»×é²Ù×÷ÊÓΪһ¸öÕûÌ壬ֻÓÐÈ«²¿Óï¾ä¶¼³É¹¦Ö´Ðкó£¬ÊÂÎñ´¦Àí²ÅËã³É¹¦£»ÈôÆäÖÐÓÐÒ»¸öÓï¾äÖ´ÐÐʧ°Ü£¬ÔòÕû¸ö´¦Àí¾ÍËãʧ°Ü£¬²¢»Ö¸´µ½´¦ÀïǰµÄ״̬¡£
¡¡¡¡BeginTransºÍCommitTransÓÃÓÚ±ê¼ÇÊÂÎñµÄ¿ªÊ¼ºÍ½áÊø£¬ÔÚÕâÁ½¸öÖ®¼äµÄÓï¾ä£¬¾ÍÊÇ×÷ΪÊÂÎñ´¦ÀíµÄÓï¾ä¡£ÅжÏÊÂÎñ´¦ÀíÊÇ·ñ³É¹¦£¬¿Éͨ¹ýÁ¬½Ó¶ÔÏóµÄError¼¯ºÏÀ´ÊµÏÖ£¬ÈôError¼¯ºÏµÄ³ÉÔ±¸öÊý²»Îª0£¬Ôò˵Ã÷ÓдíÎó·¢Éú£¬ÊÂÎñ´¦Àíʧ°Ü¡£Error¼¯ºÏÖеÄÿһ¸öError¶ÔÏ󣬴ú±íÒ»¸ö´íÎóÐÅÏ¢¡£




    ÎÄÕÂÆÀÂÛ
 
2007-07-16 08:33:58
ȷʵ¹»»ù´¡µÄ....

 

·¢±íÆÀÂÛ

êÇ   ³Æ£º
ÑéÖ¤Â룺 ¡¡µã»÷ͼƬ¿ÉË¢ÐÂÑéÖ¤Âë¡¡¡¡²©¿Í¹ý2¼¶£¬ÎÞÐèÌîдÑéÖ¤Âë
ÄÚ   ÈÝ£º