Using a dynamic sql statement in 'Insert...select' : Dynamic SQL « Transact SQL « SQL Server / T-SQL

SQL Server / T-SQL
1. Aggregate Functions
2. Analytical Functions
3. Constraints
4. Cursor
5. Data Set
6. Data Type
7. Database
8. Date Timezone
9. Index
10. Insert Delete Update
11. Math Functions
12. Select Query
13. Sequence
14. Store Procedure Function
15. String Functions
16. Subquery
17. System
18. Table
19. Table Joins
20. Transact SQL
21. Transaction
22. Trigger
23. View
24. XML
Java
Java Tutorial
Java Source Code / Java Documentation
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
C# / C Sharp
C# / CSharp Tutorial
ASP.Net
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
PHP
Python
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
SQL Server / T-SQL » Transact SQL » Dynamic SQL 
Using a dynamic sql statement in 'Insert...select'

 

2>
3CREATE TABLE Orders (
4>      OrderID int IDENTITY (11NOT NULL ,
5>      CustomerID nchar (5NULL ,
6>      EmployeeID int NULL ,
7>      OrderDate datetime NULL ,
8>      RequiredDate datetime NULL ,
9>      ShippedDate datetime NULL ,
10>     ShipVia int NULL ,
11>     Freight money NULL DEFAULT (0),
12>     ShipName nvarchar (40NULL ,
13>     ShipAddress nvarchar (60NULL ,
14>     ShipCity nvarchar (15NULL ,
15>     ShipRegion nvarchar (15NULL ,
16>     ShipPostalCode nvarchar (10NULL ,
17>     ShipCountry nvarchar (15NULL
18)
19> GO
1>
2>
3> DECLARE
4>   @schemaname AS NVARCHAR(128),
5>   @tablename  AS NVARCHAR(128),
6>   @colname    AS NVARCHAR(128),
7>   @sql        AS NVARCHAR(805),
8>   @cnt       AS INT;
9>
10> SET @schemaname = N'dbo';
11> SET @tablename  = N'Orders';
12> SET @colname    = N'CustomerID';
13> SET @sql = N'SELECT COUNT(DISTINCT '
14>   + QUOTENAME(@colname+ N') FROM '
15>   + QUOTENAME(@schemaname)
16>   + N'.'
17>   + QUOTENAME(@tablename)
18>   + N';';
19>
20CREATE TABLE #T(cnt INT);
21INSERT INTO #T
22>   EXEC(@sql);
23> SET @cnt = (SELECT cnt FROM #T);
24SELECT @cnt;
25> GO

-----------
          0
1>
2> DROP TABLE #T;
3> GO
1>
2> drop table orders;
3> GO

 
Related examples in the same category
1. Use aggregate function in dynamic sql statement
2. Build and call dynamic statement
3. Create dynamic sql from user name and date
www.java2java.com | Contact Us
Copyright 2010 - 2030 Java Source and Support. All rights reserved.
All other trademarks are property of their respective owners.