问题标签 [sp-executesql]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
114 浏览

sql - 如何在 T-SQL 中动态查询值?

无论出于何种原因,我似乎都无法从 SQL 中动态获取值。

当我@SQL在另一个窗口中运行查询时,它会显示一个具有一个值的列。

但是,不幸的是,当我尝试这个时,@FieldValue 总是返回 NULL。

他们教 sp_executesql 的那天我错过了什么吗?明显地!但是什么?

0 投票
3 回答
21372 浏览

sql-server - 动态查询结果到临时表或表变量中

我有一个使用 sp_executesql 生成结果集的存储过程,结果中的列数可能会有所不同,但会采用 Col1 Col2 Col3 等形式。

我需要将结果放入临时表或表变量中,以便我可以使用它。问题是我需要定义临时表的列,我无法使用 sp_executesql 动态地执行此操作,因为在执行命令后临时表的范围丢失了。

我玩弄了使用全局临时表的想法,因为范围允许动态创建它,但是,全局临时表很有可能会通过此过程的并发执行来更新。

有任何想法吗?

0 投票
1 回答
2892 浏览

sql-server - 将 EXEC() 或 SP_EXECUTESQL 与 SQL 公用表表达式一起使用

如何将 EXEC(@SQL) 或 EXEC SP_EXECUTESQL(@SQL) 与公用表表达式一起使用?

下面不起作用。

0 投票
1 回答
268 浏览

sql-server - 动态 sql 和 spexecutesql 行为

我有一张像

一般来说,我不知道要获得以下形式的字符串的列数(在代码@d 此处为 4):

为此,我正在做:

所以如果我这样做

在此处输入图像描述

@CommaString如果在执行 sp_executesql 时打印正确,为什么不选择它返回字符串?

0 投票
1 回答
573 浏览

sql-server - sp_executeSQL 和超过 2000 个字符的语句

我正在使用动态 SQL,我需要执行一个长 SQL 查询,首先我将带有查询的 @var 声明为 nvarchar(4000),但我的查询长度超过 4000 个字符。我尝试更改为 nvarchar(8000) 但引发不能超过 4000 个字符的异常。

最后,我将 var 声明为 varchar(8000) 并且没有错误发生,但是当我要执行 sp_executeSQL 时会出现错误,并且 sp_executeSQL 需要 ntext/nchar/nvarchar。

如何使用 sp_executeSQL 执行更长的 Sql 查询?谢谢!

我正在使用 Sql Server Express 2005。

0 投票
2 回答
732 浏览

sql - 带有sql字符串的sql server sp_executesql错误

我有一个看起来像这样的字符串:

我打印它,它看起来像这样:

我使用如下参数定义运行 sp_executesql:

它的错误如下:

String 变成
'(@maxdate date,@mindate date)select @mindate = min(time), @maxda'
sql 字符串被截断,有谁知道为什么以及如何解决这个问题?

谢谢!

0 投票
1 回答
1517 浏览

sql - HTML5 数据库表 - 检查是否为空

我正在尝试编写一个函数来确定 html5 websql db 表是否为空。代码如下。我在那里放了警报,看看发生了什么。当这个函数运行时,底部的警报首先弹出。虽然表是空的,但返回值是假的。

}

0 投票
1 回答
333 浏览

sql - sql视图从多个数据库中选择,代理用户无权访问远程数据库

我在 sql server 数据库中设置了多个视图。这些视图是从在其声明中具有 WITH EXECUTE AS 'proxyuser' 子句的存储过程中选择的。它执行的 select 语句是动态创建的,并使用 sp_executesql 存储过程执行。一切都正常工作,直到有必要在其中一个视图的定义中包含对不同数据库中表的连接,以便视图从它所在的数据库和同一服务器上的另一个数据库中进行选择。

我得到的错误是:服务器主体“proxyuser”无法在当前安全上下文下访问数据库“mydb”。

这是我尝试过的:

  1. 从第二个数据库中删除代理用户并将登录名映射到此处推荐的数据库.. http://sqlmusings.wordpress.com/2008/06/12/issue-server-principal-is-not-able-to-access -当前安全上下文下的数据库/

  2. 按照此处的建议启用跨数据库所有权链接.. http://social.msdn.microsoft.com/Forums/en-US/sqlsecurity/thread/07dcab8c-b830-4ca9-8afc-3e75772f44d3/

并且我的方案不符合 Microsoft 支持文章 #913422 中列出的要求,该文章描述了相同的错误消息。代理使用 Sql Server 身份验证,而不是 Windows 身份验证。

有任何想法吗?

提前致谢。

0 投票
2 回答
1459 浏览

sql - sp_executesql 从视图返回的结果与直接运行查询不同

我正在尝试调试显示一些可疑结果的 SSRS 报告。我正在使用 sql profiler 我已经获取了它正在运行的确切查询,该查询是使用 exec sp_executesql 执行的。

查询正在从视图返回结果。

如果我按原样运行包括 sp_executesql 的查询,我会得到一组结果。如果我抓住嵌套在里面的查询并自己运行它,我会得到一组不同的结果。

我不知道这怎么可能。查询是相同的,我的印象是 sp_executesql 只是执行查询。

有什么我遗漏的或者我该如何进一步调试?

exec 调用看起来像这样:

如果我运行它,我会得到一组结果。

然后,如果我运行:

我得到的结果略有不同。

0 投票
1 回答
14141 浏览

sql - 将用户定义的表参数传递给动态 sql,sp_executesql

我需要帮助将我的“用户定义的表类型”参数传递给动态 sql sp_executesql。

这是我的示例代码:

它说:必须声明表变量“@IdTable”

我无法使其正常工作,也无法使用合并(对于 bigints)获得解决方法,因为结果将超过 8000 个字符。