動態語句的使用方法

2021-05-13 02:50:11 字數 2014 閱讀 8099

雖然是**,但經過鄙人親自操作,而後有感--

----生成測試表ta  

--if not object_id('ta') is null 

--    drop table ta  

--go  

--create table ta(id int primary key,col1 int,col2 nvarchar(10))  

--insert ta   

--select 1,101,'a' union all 

--select 2,102,'b' union all 

--select 3,103,'c'  

--go  

----select * from ta

--方法1查詢表改為動態

declare @sqlstr nvarchar(50)

set @sqlstr='select * from ta'

exec(@sqlstr)

declare @sqlstr2 nvarchar(50) --varchar(50)則報錯 為什麼呢?n為unicode,所以需要unicode

set @sqlstr2=n'select * from ta'

exec sp_executesql @sqlstr2

--方法2:欄位名,表名,資料庫名之類作為變數時,用動態sql

declare @fname varchar(20)

set @fname='id'

exec('select '+@fname+',* from ta where '+@fname+'=5' )

--方法3:輸入引數

declare @i int,@s nvarchar(1000)

set @i=5

--exec('select * from ta where id='+@i)

set @s=n'select * from ta where id=@i'

exec sp_executesql @s,n'@i int',@i--此處輸入引數要加上n

--方法4:輸出引數

declare @i int,@s nvarchar(1000)

set @s='select @i=count(1) from ta'

--declare @i int

--用exec

exec('declare @i int '+@s+' select @i')--把整個語句用字串加起來執行

--exec('declare @i int select @i=count(1) from ta select @i')--把整個語句用字串加起來執行

--用sp_executesql

exec sp_executesql @s,n'@i int output',@i output--此處輸出引數要加上n

select @i

--方法5:輸入輸出

--用exec

declare @i int,@s nvarchar(1000)

set @i=2

select @s='declare @con int select @con=count(1) from ta where id>'+rtrim(@i)+' select @con'

declare @returnvalue int

exec(@s)

--用sp_executesql

declare @i int,@con int,@s nvarchar(1000)

set @i=5

select @s='select @con=count(1) from sysobjects where id>@i'

exec sp_executesql @s,n'@con int output,@i int',@con output ,@i

select @con

---有感,exec,exec sp_executesql 區別: 如果需要有引數輸出,那麼你一定要選擇exec sp_executesql,@一定要使用nvarchar 型別

js的with語句使用方法

1 簡要說明 with 語句可以方便地用來引用某個特定物件中已有的屬性,但是不能用來給物件新增屬性。要給物件建立新的屬性,必須明確地引用該物件。2 語法格式 with object instance 有時候,我在乙個程式 中,多次需要使用某物件的屬性或方法,照以前的寫法,都是通過 物件.屬性或者物件...

js的with語句使用方法

1 簡要說明 with 語句可以方便地用來引用某個特定物件中已有的屬性,但是不能用來給物件新增屬性。要給物件建立新的屬性,必須明確地引用該物件。2 語法格式 with object instance 有時候,我在乙個程式 中,多次需要使用某物件的屬性或方法,照以前的寫法,都是通過 物件.屬性或者物件...

ifdef 語句使用方法

ifdef expression 標識 execution1 待執行語句1 elif else 語句可以省略 execution2 待執行語句2 else execution3 待執行語句3 endif ifndef expression 標識 expression4 endif 下面舉幾個例子 例...