sql server的動態語句用法

2021-08-30 17:09:56 字數 932 閱讀 3515

--建立測試環境

if object_id('tb','u') is not null drop table tb

gocreate table tb

(id int identity,

code varchar(10),

name varchar(20),

constraint pk_tb primary key (id))go

insert tb

select '001','財務部' union all

select '002','**部' union all

select '003','技術部' union all

select '004','市場部'

go--動態語句1 得到結果集

declare @sql nvarchar(4000)

declare @wheresql varchar(1000)

set @wheresql=' and name=''技術部'''

set @sql = 'select * from tb where 1=1 '+ @wheresql

exec(@sql)

--結果

/*id code name

----------- ---------- --------------------

3 003 技術部

*/--動態語句2 輸入輸出引數

declare @id int

set @sql = 'select @id=id from tb where name=@name '

exec sp_executesql @sql, n'@id int output,@name varchar(20)',@id output,'技術部'

select @id

--結果

/*-----------3*/

sqlserver中動態sql語句應用

所有人知道select from tablename where aa bb的用法 大部分人知道 exec select from tablename where aa bb 的用法 但是仍然有很多人不知道sp executesql的用法,他可以讓動態sql接收引數且把查詢結果返回到乙個引數 接收條...

sqlserver中動態sql語句應用

所有人知道select from tablename where aa bb的用法 大部分人知道 exec select from tablename where aa bb 的用法 但是仍然有很多人不知道sp executesql的用法,他可以讓動態sql接收引數且把查詢結果返回到乙個引數 接收條...

sqlserver中動態sql語句應用

所有人知道select from tablename where aa bb的用法 大部分人知道 exec select from tablename where aa bb 的用法 但是仍然有很多人不知道sp executesql的用法,他可以讓動態sql接收引數且把查詢結果返回到乙個引數 接收條...