復制代碼 代碼如下:
DECLARE @VAR1 VARCHAR(1) 
DECLARE @VAR2 VARCHAR(2) 
復制代碼 代碼如下:
SELECT @VAR1='Y',@VAR2='N'
-- 而SET要達到同樣的效果,需要:
SET @VAR1='Y'
SET @VAR2='N'
/*
   說到這個,SQL內置的變量:@@ERROR 和 @@ROWCOUNT必須要在一句SQL語句中捕獲。如果用set分兩句來獲取它們,將獲取不完整,這時就應該用select來獲取值。
*/
復制代碼 代碼如下:
----以下假定Permission表有多個IsRight記錄 
SELECT @VAR1 = IsRight FROM Permission   --將取最后一個值 
SET @VAR1 = IsRight FROM Permission   --將報錯 
復制代碼 代碼如下:
----以下假定Permission記錄為空 
SET @VAR1 = '初始值'
  
SELECT @VAR1 = IsRight FROM Permission   --此時@VAR1為'初始值' 
SET  @VAR1 = (SELECT IsRight FROM Permission)   --此時@VAR1為NULL 
復制代碼 代碼如下:
----以下假定Permission記錄為空 
SET @VAR1 = '初始值'
SELECT @VAR1 =(SELECT IsRight FROM Permission )   --此時@VAR1為NULL 
SET  @VAR1 = ( SELECT IsRight FROM Permission)   --此時@VAR1為NULL 
新聞熱點
疑難解答