ÁÙʱ±ívs.±í±äÁ¿ÒÔ¼°ËüÃǶÔSQLServerÐÔÄܵÄÓ°Ïì
ÔÚÁÙʱ±í
create table #T (…)
ºÍ±í±äÁ¿
declare @T table (…)
Ö®¼äÖ÷ÒªÓÐ3¸öÀíÂÛÉϵIJ»Í¬¡£
µÚÒ»¸ö²»Í¬Ê¹ÊÂÎñÈÕÖ¾²»»á¼Ç¼±í±äÁ¿¡£Òò´Ë£¬ËüÃÇÍÑÀëÁËÊÂÎñ»úÖƵķ¶Î§£¬´ÓÏÂÃæµÄÀý×Ó¿ÉÏÔ¶øÒ×¼û£º
create table #T (s varchar(128))
declare @T table (s varchar(128))
insert into #T select 'old value #'
insert into @T select 'old value @'
begin transaction
update #T set s='new value #'
update @T set s='new value @'
rollback transaction
select * from #T
select * from @T
s
---------------
old value #
s
---------------
new value @
ÔÚÉùÃ÷ÁÙʱ±í#TºÍ±í±äÁ¿@TÖ®ºó£¬¸øËüÃÇ·ÖÅäÒ»¸öÏàͬµÄֵΪold value×Ö·û´®¡£È»ºó£¬¿ªÊ¼Ò»¸öÊÂÎñÈ¥¸üÐÂËüÃÇ¡£´Ëʱ£¬ËüÃǶ¼½«ÓÐеÄÏàͬµÄÖµnew value×Ö·û´®¡£µ«µ±ÊÂÎñ»Ø¹öʱ£¬ÕýÈçÄãËù¿´µ½µÄ£¬±í±äÁ¿@T±£ÁôÁËÕâ¸öÐÂÖµ¶øûÓзµ»Øold value×Ö·û´®¡£ÕâÊÇÒòΪ¼´Ê¹±í±äÁ¿ÔÚÊÂÎñÄÚ±»¸üÐÂÁË£¬Ëü±¾Éí²»ÊÇÊÂÎñµÄÒ»²¿·Ö¡£
µÚ¶þ¸öÖ÷ÒªµÄ²»Í¬ÊÇÈκÎÒ»¸öʹÓÃÁÙʱ±íµÄ´æ´¢¹ý³Ì¶¼²»»á±»Ô¤±àÒ룬Ȼ¶øʹÓñí±äÁ¿µÄ´æ´¢¹ý³ÌµÄÖ´Ðмƻ®¿ÉÒÔÔ¤ÏȾ²Ì¬µÄ±àÒë¡£Ô¤±àÒëÒ»¸ö½Å±¾µÄÖ÷ÒªºÃ´¦ÔÚÓÚ¼Ó¿ìÁËÖ´ÐеÄËٶȡ£Õâ¸öºÃ´¦¶ÔÓÚ³¤µÄ´æ´¢¹ý³Ì¸ü¼ÓÏÔÖø£¬ÒòΪ¶ÔËüÀ´ËµÖØбàÒë´ú¼ÛÌ«¸ß¡£
×îºó£¬±í±äÁ¿½ö´æÔÚÓÚÄÇЩ±äÁ¿ÄÜ´æÔÚµÄÏàͬ·¶Î§ÄÚ¡£ºÍÁÙʱ±íÏà·´£¬ËüÃÇÔÚÄÚ²¿´æ´¢¹ý³ÌºÍexec£¨string£©Óï¾äÀïÊDz»¿É¼ûµÄ¡£ËüÃÇÒ²²»ÄÜÔÚinsert/execÓï¾äÀïʹÓá£
ÐÔÄܱȽÏ
Ê×ÏÈ£¬×¼±¸Ò»¸öÓÐ100Íò¼Ç¼µÄ²âÊÔ±í£º
create table NUM (n int primary key, s varchar(128))
GO
set nocount on
declare @n int
set @n=1000000
while @n>0 begin
insert into NUM
select @n,'Value: '+convert(varchar,@n)
set @n=@n-1
end
GO
×¼±¸²âÊÔ´æ´¢¹ý³ÌT1£º
create procedure T1
@total int
as
create table #T (n int, s varchar(128))
insert into #T select n,s from NUM
where n%100>0 and n<=@total
declare @res varchar(128)
select @res=max(s) from NUM
where n<=@total and
Ïà¹ØÎĵµ£º
DATEDIFF(datepart, startdate, enddate)
Datepart Abbreviations
year yy, yyyy
quarter qq, q
month mm, m
......
Ë÷ÒýµÄÖØÒªÐÔ
Êý¾Ý¿âÐÔÄÜÓÅ»¯ÖÐË÷Òý¾ø¶ÔÊÇÒ»¸öÖØÁ¿¼¶µÄÒòËØ£¬¿ÉÒÔ˵£¬Ë÷ÒýʹÓò»µ±£¬ÆäËüÓÅ»¯´ëÊ©½«ºÁÎÞÒâÒå¡£
¾Û´ØË÷Òý
(Clustered Index)ºÍ·Ç¾Û´ØË÷Òý
(Non- Clustered Index)
×îͨË׵ĽâÊÍÊÇ:¾Û´ØË÷ÒýµÄ˳Ðò¾ÍÊÇÊý¾ÝµÄÎïÀí´æ´¢Ë³Ðò£¬¶ø¶Ô·Ç¾Û´ØË÷ÒýµÄË÷Òý˳ÐòÓëÊý¾ÝÎïÀíÅÅÁÐ˳ÐòÎ޹ء£¾ÙÀýÀ´Ëµ£¬Äã·µ½Ð»ª×ÖµäµÄº ......
²é¿´ÊÇ·ñÇø·Ö´óСд-Ö´Ðд洢¹ý³Ìsys.sp_server_info
exec sys.sp_server_info
²é¿´µÚ18ÐÐCOLLATION_SEQ-collationÊôÐÔ
charset=cp936 collation=Chinese_PRC_CS_AS
csΪÇø·Ö´óСд£¬CIΪ²»Çø·Ö´óСд
½«Çø·Ö´óСд¸ÄΪ²»Çø·Ö´óСд
alter database yourDB COLLATE Chinese_PRC_CI_AS
½«²»Çø·Ö´óСд¸ÄΪÇø·Ö´óСд
......
sqlite¹Ù·½Õ¾
http://www.sqlite.org/
SQL Syntax
http://www.sqlite.org/lang.html
sqliteÖÐÎÄÕ¾
http://www.sqlite.com.cn/
http://www.sqlitechina.org/
½¨Á¢Êý¾Ý¿âµµ°¸
ÓÃsqlite3½¨Á¢Êý¾Ý¿âµÄ·½·¨ºÜ¼òµ¥£¬Ö»ÒªÔÚshellϼüÈ루ÒÔÏÂ$·ûºÅΪshellÌáʾºÅ£¬ÇëÎð¼üÈ룩£º
$ sqlite3 foo.db
Èç¹ûĿ¼ÏÂûÓÐfo ......
ÔÚÖ÷Êý¾Ý¿âÎļþ½øÐдóÁ¿µÄɾ³ý(ÐÂÔö£¬Ð޸Ķ¼»áÓÐÈÕÖ¾)£¬ÈÕÖ¾ÎļþÓÐ1.5G¡£×òÌ컹ÔÊý¾Ý¿âʱ³õʼֵҲ²Å1MB¡£±ØÐëÇå³ýµô£¬²»È»Ì«Õ¼¿Õ¼äÁË¡£ÉÏÍøÕÒÁ˸öÇå³ýÈÕÖ¾µÄ·½·¨¡£Ë³Àû½«ÈÕÖ¾Îļþlog.ldf´Ó1.5G±äΪÁË1M¡£ ÎÒÖ´ÐÐÈçÏ£º
1.Çå¿ÕÈÕÖ¾
DUMP TRANSACTION ¿âÃû WITH NO_LOG
2.½Ø¶ÏÊÂÎñÈÕÖ¾£º
BACKUP LOG ......