Pass parameters into dynamic sql statement : Dynamic SQL « Transact SQL « SQL Server / T-SQL Tutorial






11>
12> CREATE TABLE Orders (
13>     OrderID int IDENTITY (1, 1) NOT NULL ,
14>     CustomerID nchar (5) NULL ,
15>     EmployeeID int NULL ,
16>     OrderDate datetime NULL ,
17>     RequiredDate datetime NULL ,
18>     ShippedDate datetime NULL ,
19>     ShipVia int NULL ,
20>     Freight money NULL DEFAULT (0),
21>     ShipName nvarchar (40) NULL ,
22>     ShipAddress nvarchar (60) NULL ,
23>     ShipCity nvarchar (15) NULL ,
24>     ShipRegion nvarchar (15) NULL ,
25>     ShipPostalCode nvarchar (10) NULL ,
26>     ShipCountry nvarchar (15) NULL
27> )
28> GO
1>
2>
3>
4> DECLARE @i AS INT;
5> SET @i = 10248;
6>
7> DECLARE @sql AS NVARCHAR(46);
8> SET @sql = 'SELECT * FROM dbo.Orders WHERE OrderID = @oid;';
9>
10> EXEC sp_executesql
11>   @stmt = @sql,
12>   @params = N'@oid AS INT',
13>   @oid = @i;
14> GO
OrderID     CustomerID EmployeeID  OrderDate               RequiredDate            ShippedDate             ShipVia     Freight               ShipName                                 ShipAddress
                                           ShipCity        ShipRegion      ShipPostalCode ShipCountry
----------- ---------- ----------- ----------------------- ----------------------- ----------------------- ----------- --------------------- ---------------------------------------- ------------------
------------------------------------------ --------------- --------------- -------------- ---------------
1>
2> drop table orders;
3> GO
1>








20.18.Dynamic SQL
20.18.1.A stored procedure with dynamic execution.
20.18.2.Simple SELECT query that uses a variable for the field to sequence the result set.
20.18.3.SELECT query with a variable for the table name so that condition determines which table the result set is based on.
20.18.4.Using Stored Procedure to create dynamic sql statement
20.18.5.Change database dynamically
20.18.6.Pass parameters into dynamic sql statement
20.18.7.Build a dynamic sql statement from schema name, table name and column name
20.18.8.create a dynamic sql statement and save it in a varchar type variable