53得票4回答
使用多个参数执行sp_executesql

如何正确地将参数传递给EXEC sp_executesql语句? 目前我这样写,但出现了错误:alter PROCEDURE [dbo].[usp_getReceivedCases] -- Add the parameters for the stored procedure here...

50得票10回答
使用sp_executeSql执行select...into #table语句,但无法查询到临时表数据。

尝试使用 sp_Executedsql 将结果选择到临时表 #TempTable 中。 无论其是否成功插入,都会有消息输出,如 (359 行记录受影响) ,这意味着插入成功吗? 以下是脚本:DECLARE @Sql NVARCHAR(MAX); SET @Sql = 'select disti...

32得票11回答
将exec sp_executesql转换为普通查询的简单方法?

在处理使用Profiler和SSMS调试查询时,我经常从Profiler中复制查询并在SSMS中测试它们。由于我使用参数化的SQL,我的查询都会被发送为exec sp_executesql查询。exec sp_executesql N'/*some query here*/', N'@so...

24得票2回答
Entity Framework 4.2 exec sp_executesql不使用索引(参数嗅探)

我在使用Entity Framework (4.2) 与 SQL Server 2008 R2 进行简单SQL查询时遇到了一些性能问题。在某些情况下(但并非全部),EF会使用以下语法: exec sp_executesql 'DYNAMIC-SQL-QUERY-HERE', @param1....

23得票5回答
将一个表变量传递给sp_executesql

我正在尝试将一个TABLE变量传递给sp_executesql过程: 我试图将一个TABLE变量传递给sp_executesql过程: DECLARE @params NVARCHAR(MAX) SET @params = '@workingData TABLE ( col1 VARCH...

15得票2回答
在SQL Server中远程调用表值函数的解决方法存在更多问题

我有一个需要使用一组参数多次运行的查询,因此我将其封装在了一个表值函数中。 这个表值函数需要从远程服务器调用。不幸的是,在链接服务器上调用失败并且会报错:Msg 4122, Level 16, State 1, Line 29 Remote table-valued function cal...

14得票3回答
sp_executesql和表输出

我正在SQL Server 2005中编写一个存储过程,在某个特定的点上,我需要执行另一个存储过程。这个调用是动态的,所以我像往常一样使用了sp_executesql命令:DECLARE @DBName varchar(255) DECLARE @q varchar(max) DECLAR...

14得票2回答
每次执行EXECUTE IMMEDIATE后是否需要提交COMMIT?

在一个Oracle存储过程中,我有多个EXECUTE IMMEDIATE命令。EXECUTE IMMEDIATE 'DELETE FROM tbl1'; EXECUTE IMMEDIATE 'INSERT INTO tbl1...'; COMMIT; EXECUTE IMMEDIATE ...

13得票2回答
使用“Execute sp_Executesql”时的权限

我有一个数据库,所有访问都由存储过程控制。DBA希望避免直接给用户读/写底层表的权限,这点我能理解。因此,所有数据的更新和选择都通过存储过程来完成。基本上,他创建了一个角色,该角色对数据库中所有存储过程具有EXECUTE权限,并将该角色分配给用户。 问题在于,其中一个存储过程动态构建了一个S...

13得票7回答
使用sp_executesql和参数发出CREATE语句是否可行?

我正在尝试动态创建触发器,但遇到了一个困惑的问题,即在使用sp_executesql并将参数传递到动态SQL时。以下简单的测试用例可行: DECLARE @tableName sysname = 'MyTable'; DECLARE @sql nvarchar(max) = N' C...