SP_EXECUTESQL 是在 SQL 2005中引入的新的系统存储过程,也是用来处理动态SQL 语句的。它比EXEC 更加灵活,首先也执行一下第一次的拼接SQL语句: DECLARE@TableNameNVARCHAR(50),@SqlNVARCHAR(MAX),@ScoreINT;SET@TableName='t_Student';SET@Score=90;SET@sql='SELECT * FROM'+QUOTENAME(@TableName)+'WHERE Sc...
DECLARE@OUT_NumsINT,@IN_ScoreINT,@SqlNVARCHAR(MAX)SET@IN_Score=90SET@sql='SELECT @Nums=COUNT(1) FROM t_student WHERE Score >= @Score'EXECSP_EXECUTESQL@stmt=@sql,@params=N'@Nums INT OUT,@Score INT',@Nums=@OUT_NumsOUTPUT,@Score=@IN_ScoreSELECT@OUT_NumsAS'人数' 通过上面的例子已经...
sp_executesql 當參數值變更為語句的唯一變化時,可以使用 而不是預存程式來執行 Transact-SQL 語句多次。 由於 Transact-SQL 語句本身會維持不變,而且只有參數值變更,所以 SQL Server 查詢優化器可能會重複使用它為第一次執行所產生的執行計劃。 在此案例中,效能相當於預存程式的效能。
DECLARE@Col2SMALLINTDECLARE@Col1INTSELECT@Col2=11,@Col1=12DECLARE@SQLVARCHAR(1000)SELECT@SQL='select * from dbo.TestDynamicSQL where Col2 ='+CONVERT(VARCHAR(10),@Col2)+'and Col1 ='+CONVERT(VARCHAR(10),@Col1)EXEC(@SQL)GODECLARE@Col2SMALLINTDECLARE@Col1INTSELECT@Col2=12,@Col1=13DE...
Führen Sie eine Befehlszeichenfolge oder Zeichenfolge in einem Transact-SQL Batch oder anderen Modulen aus.
sp_executesql can be used instead of stored procedures to execute a Transact-SQL statement many times when the change in parameter values to the statement is the only variation. Because the Transact-SQL statement itself remains constant and only the parameter values change, the SQL Server...
Transact-SQL 语法约定 语法 SQL Server、Azure SQL 数据库、Azure SQL 托管实例、Azure Synapse Analytics 和 Analytics Platform System(PDW)的语法。 syntaxsql复制 sp_executesql[ @stmt = ]N'statement'[ [ , [ @params = ]N'@parameter_name data_type [ { OUT | OUTPUT } ] [ , ...n ]'] [...
Transact-SQL 语法约定 语法 SQL Server、Azure SQL 数据库、Azure SQL 托管实例、Azure Synapse Analytics 和 Analytics Platform System(PDW)的语法。 syntaxsql复制 sp_executesql[ @stmt = ]N'statement'[ [ , [ @params = ]N'@parameter_name data_type [ { OUT | OUTPUT } ] [ , ...n ]'] [...
Transact-SQL 语法约定 语法 SQL Server、Azure SQL 数据库、Azure SQL 托管实例、Azure Synapse Analytics 和 Analytics Platform System(PDW)的语法。 syntaxsql复制 sp_executesql[ @stmt = ]N'statement'[ [ , [ @params = ]N'@parameter_name data_type [ { OUT | OUTPUT } ] [ , ...n ]'] [...
Transact-SQL 语法约定 语法 SQL Server、Azure SQL 数据库、Azure SQL 托管实例、Azure Synapse Analytics 和 Analytics Platform System(PDW)的语法。 syntaxsql复制 sp_executesql[ @stmt = ]N'statement'[ [ , [ @params = ]N'@parameter_name data_type [ { OUT | OUTPUT } ] [ , ...n ]'] [...