SQL SERVERÖйØÓÚNULLµÄÉ趨
/***************************************************
×÷Õߣºherowang(ÈÃÄãÍû¼ûÓ°×ÓµÄǽ£©
ÈÕÆÚ£º2009.12.19
×¢£º ×ªÔØÇë±£Áô´ËÐÅÏ¢
¸ü¶àÄÚÈÝ£¬Çë·ÃÎÊÎҵIJ©¿Í£ºblog.csdn.net/herowang
****************************************************/
SQL SERVER2005ÖйØÓÚNULLµÄÉ趨
NULL´¦ÀíʱSQL SERVERÖÐÒ»¸ö±È½ÏÂé·³µÄÊÂÇ飬ÓÐÐí¶à´¦Àí¿ÉÄÜÒòΪNULL¶øµÃµ½Ò»Ð©Ô¤Ïë²»µ½µÄ½á¹û¡£NULLÔÚÊý¾Ý¿âÖÐÒ»°ãÓÐÈý²ãº¬Ò壺1¡¢¸ÃÊôÐÔÖµ²»ÊʺϸÃʵÌ壻2¡¢¸ÃʵÌ廹ûÓиÄÊôÐÔ£»3¡¢¸ÃʵÌåÓиÃÊôÐÔ£¬µ«ÊÇÏÖÔÚ»¹²»ÖªµÀ¡£
¶ÔÓÚNULLµÄʹÓ㬺ÍÊý¾Ý¿âµÄÑ¡ÏîºÍ»á»°µÄÉèÖÃÊÇϢϢÏà¹ØµÄ£¬Ò²¾ÍÊÇ˵²»Í¬µÄÊý¾Ý¿âµÄÑ¡ÏîºÍ»á»°µÄÉèÖ㬶ÔNULLµÄ´¦Àí·½Ê½ÊDz»Ò»ÑùµÄ¡£¶ÔÓÚÓ°ÏìNULL´¦ÀíµÄÉèÖÃÓÐÈçϼ¸ÖÖ£º
Ò»¡¢ANSI_NULL_DEFT_ON ¼°ANSI_NULL_DEFT_OFF¡£
µ±¸ÃÑ¡ÏîΪOFFʱ£¬Í¨¹ýcreate tableºÍalter table´´½¨µÄÐÂÁÐĬÈÏΪnot null£¬¶ÔÓ¦µÄÊý¾Ý¿âÑ¡ÏîΪANSI NULLĬÈÏֵΪfalse¡£µ±¸ÃÑ¡ÏîΪOnʱ£¬ÔòĬÈÏֵΪnull£¬¶ÔÓ¦µÄÊý¾Ý¿âÑ¡ÏîΪANSI NULLĬÈÏֵΪTRUE¡£
¡¾²âÊÔ1¡¿
SET ANSI_NULL_DFLT_ON OFF
go
create table test1(id int,col char(10))
²é¿´¸Ã±íµÄÊôÐÔ£¬¿ÉÒÔ¿´µ½¸Ã±íµÄÁ½Áв»Îª¿Õ£»
¡¾²âÊÔ2¡¿
SET ANSI_NULL_DFLT_ON ON
go
create table test2(id int,col char(10))
²é¿´¸Ã±íµÄÊôÐÔ£¬¿ÉÒÔ¿´µ½¸Ã±íµÄÁ½ÁÐΪ¿Õ£»
¶ÔÓÚANSI_NULL_DEFT_ON ¼°ANSI_NULL_DEFT_OFFÊÇ»¥³âÑ¡ÏÓÃÓÚÖ¸Ã÷ÊÇ·ñ¸²¸ÇÊý¾Ý¿âÑ¡Ïµ±¿ªÆôÒ»¸öÑ¡Ïîʱ£¬¶¼»áÆÈʹÏà·´µÄÄǸöÑ¡Ïî¹Ø±Õ£»µ«ÊǹرÕij¸öÑ¡Ïîʱ£¬²»»áʹÏà·´µÄÄǸöÑ¡Ïî´ò¿ª£¬¶øÖ»ÊDz»ÔÙ¿ªÆô¸ÃÑ¡Ïî¡£Èç¹ûÁ½¸öÑ¡Ïî¶¼¹Ø±Õ£¬ÄÇô½«»áÆôÓÃÊý¾Ý¿âÑ¡Ïî¡£
¡¾²âÊÔ3¡¿
SET ANSI_NULL_DFLT_ON OFF
SET ANSI_NULL_DFLT_Off OFF
Go
create table tb(id int,col char(10))—ANSI NULLĬÈÏΪfalse
²é¿´¸Ã±íµÄÊôÐÔ£¬¿ÉÒÔ¿´µ½¸Ã±íµÄÁ½Áв»ÔÊÐíΪ¿Õ£»
¡¾²âÊÔ4¡¿
SET ANSI_NULL_DFLT_ON OFF
SET ANSI_NULL_DFLT_Off OFF
Go
create table tb(id int,col char(10))—ANSI NULLĬÈÏΪtrue
²é¿´¸Ã±íµÄÊôÐÔ£¬¿ÉÒÔ¿´µ½¸Ã±íµÄÁ½ÁÐÔÊÐíΪ¿Õ£»
¶þ¡¢SET CONCAT_NULL_YIELDS_NULL
µ±¿ªÆôSET CONCAT_NULL_YIELDS_NULLʱ£¬Èç¹û´®Áª²Ù×÷µÄÁ½¸ö²Ù
Ïà¹ØÎĵµ£º
--µ±Ç°Ê¹ÓõÄÊý¾Ý¿âÊÇ ÏµÍ³×Ô´øµÄ master
create database temp1
go --´Ë´¦²»¼ÓgoµÄ»°ÏÂÃæuse temp1 »á±¨´í£ºÕÒ²»µ½´æ´¢¹ý³Ì 'temp1'¡£
use temp1
set xact_abort on
begin tran
create table [order]( --orderÊǹؼü×Ö±ØÐëÓÃ[ ]£»
id int
)
create table fOrder(
id int
)
-- ÏÂÃæµÄ²Ù×÷Ö÷ÒªÊÇΪÁËʵÏÖfO ......
ʹÓà TRUNCATE TABLE ɾ³ýËùÓÐÐÐ
ÈôҪɾ³ý±íÖеÄËùÓÐÐУ¬Ôò TRUNCATE TABLE Óï¾äÊÇÒ»ÖÖ¿ìËÙ¡¢ÓÐЧµÄ·½·¨¡£TRUNCATE TABLE Óë²»º¬ WHERE ×Ó¾äµÄ DELETE Óï¾äÀàËÆ¡£µ«ÊÇ£¬TRUNCATE TABLE Ëٶȸü¿ì£¬²¢ÇÒʹÓøüÉÙµÄϵͳ×ÊÔ´ºÍÊÂÎñÈÕÖ¾×ÊÔ´¡£
Óë DELETE Óï¾äÏàͬ£¬Ê¹Óà TRUNCATE TABLE Çå¿ÕµÄ±íµÄ¶¨ÒåÓëÆäË÷ÒýºÍÆäËû¹ØÁª¶ÔÏóÒ ......
ͨ³£Ö´ÐÐsqlÓï¾ä£¬´ó¼ÒÓõͼÊÇexec£¬exec¹¦ÄÜÇ¿´ó£¬µ«²»Ö§³ÖǶÈë²ÎÊý£¬sp_executesql½â¾öÁËÕâ¸öÎÊÌâ¡£³Ò»¶Îsqlserver°ïÖú£º
sp_executesql
Ö´ÐпÉÒÔ¶à´ÎÖØÓûò¶¯Ì¬Éú³ÉµÄ Transact-SQL Óï¾ä»òÅú´¦Àí¡£Transact-SQL Óï¾ä»òÅú´¦Àí¿ÉÒÔ°üº¬Ç¶Èë²ÎÊý¡£
Óï·¨
sp_executesql
[@stmt
=
] stmt
[
&n ......
SQL¿Í»§¶ËÊÇÿ¸ö¿ª·¢ÈËÔ±ËùÐèµÄ±Ø²»¿ÉÉٵŤ¾ß¡£ËûÃǰïÖú¿ª·¢ÈËÔ±ÇáËɵØÔÚÈκÎÊý¾Ý¿âÖ´ÐÐSQL²éѯ¡£ËüÃǶÔÓÚ½â¾öÈκÎÊý¾Ý¿âÏà¹ØµÄÎÊÌâÒ²ÊǷdz£ÖØÒªµÄ¡£
1. SQuirreL SQL Client
SQuirreL SQL ClientÊÇĿǰ×îÁ÷ÐеĿªÔ´SQL¿Í»§¶Ë¡£ ......