SqlServer存储过程中知悉动态sql语句
时间: 2023-08-03 15:09:47 浏览: 129
SQL Server存储过程基本语法
在 SQL Server 存储过程中,如果使用动态 SQL 语句,可以使用 PRINT 或者 SELECT 语句来查看生成的动态 SQL 语句。
示例:
```
CREATE PROCEDURE YourProcedure
@param1 INT,
@param2 NVARCHAR(MAX)
AS
BEGIN
DECLARE @sqlstmt NVARCHAR(MAX);
SET @sqlstmt = N'SELECT * FROM YourTable WHERE ColumnName = ' + CAST(@param1 AS NVARCHAR(MAX));
PRINT @sqlstmt; -- 使用 PRINT 语句输出生成的动态 SQL 语句
EXECUTE (@sqlstmt);
END
```
或者使用 SELECT 语句将生成的动态 SQL 语句插入到临时表中:
```
CREATE PROCEDURE YourProcedure
@param1 INT,
@param2 NVARCHAR(MAX)
AS
BEGIN
DECLARE @sqlstmt NVARCHAR(MAX);
SET @sqlstmt = N'SELECT * FROM YourTable WHERE ColumnName = ' + CAST(@param1 AS NVARCHAR(MAX));
CREATE TABLE #temp (DynamicSQL NVARCHAR(MAX)); -- 创建临时表
INSERT INTO #temp (DynamicSQL) VALUES (@sqlstmt); -- 将生成的动态 SQL 语句插入到临时表中
EXECUTE (@sqlstmt);
END
```
阅读全文