问题标签 [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.
sql - 在两个游标循环内动态执行更新时出现错误“声明标量”
基本上我正在寻找一个临时表,其中列出了需要更新的某些表名,我将每个表名使用它来填充要更新的所有 ID 的另一个临时表。
我可以使用此结构选择需要更新的每个表中的数据,但似乎无法运行内部游标,因为它没有拾取临时表。
任何帮助都将不胜感激,因为在过去的几个小时里,这一直是我的疯子。
干杯,
我也尝试了另一种解决方案,sp_executesql
但在那里得到了类似的错误,这是在第一个 EXEC 上使用下面的代码而不是 ..
再次,任何帮助将不胜感激..
谢谢..
格里
tsql - 从 sp_executsql 插入临时表
通常,我正在构建使用 sp_executsql 执行的动态 SQL 语句,如下所示:
我需要在某些东西(表变量或临时表)中插入返回结果行集,但出现以下错误:
执行此操作后:
从我读过的内容来看,我认为问题是因为我没有指定临时表的列,但我无法做到这一点,因为返回列数不同。
我读过我可以使用全局临时表,但我以前做过这个,想知道是否有其他方法可以做到这一点。
sql - phpMyAdmin动态sql——如何使用?
动态 SQL 在 phpMyAdmin 中有效吗?
我尝试了http://www.youtube.com/watch?v=MiAwOoelu9k中的最基本示例
例如,其中每一个都会引发错误(单独尝试):
EXEC ('SELECT data FROM table')
EXEC sp_executesql N'SELECT data FROM table'
sql - 如何使用 sp_executesql 传递表变量
我正在尝试使用 sp_executesql 创建一个表,但我不断收到一条错误消息,提示“'@_TableName' 附近的语法不正确。知道我在这里做错了什么吗?
这是我正在使用的代码:
这会产生错误:
如果我对表名和列类型进行硬编码(我必须两者都做),那么查询就可以工作,否则我会得到这两个变量的不正确语法消息。
如果你想知道,我想把这段代码放在一个存储过程中,这样如果有人想创建或修改一个表,他们就会调用这个可以运行额外验证的存储过程。
oracle - 每次 EXECUTE IMMEDIATE 后都需要 COMMIT 吗?
我在一个 oracle 过程中有多个 EXECUTE IMMEDIATE 命令。
我是否需要所有这些 COMMIT,或者只是在程序结束时?
sql - 从动态 sql 访问动态表
美好的一天 StackOverflow
我从动态 sql 创建的表可以有任意数量的列,因为它是一个数据透视表。
我运行此代码来运行我的动态 sql。
我的问题是,如何存储结果表?特别是当我不知道它将有多少列,甚至不知道这些列将被称为什么时?
我尝试了下面的代码,但它不起作用
感谢大家
sql-server - 如何在 sp_executesql 中使用 OPENQUERY?
我正在尝试验证链接服务器上是否存在作业编号并返回一个变量(@JobExists),指示它是否存在(1 表示是,0 表示否)。
为此,我尝试将 OPENQUERY 与 sp_executesql 一起使用,因为我必须传入作业编号的参数。我已经尝试了下面的代码,但得到错误“程序需要'ntext/nchar/nvarchar'类型的参数'@statement'。出于测试目的,我声明并设置了变量@JobNumber。
我在这里阅读了 sp_executesql:http ://technet.microsoft.com/en-us/library/ms188001.aspx 我也进行了各种搜索,但没有找到任何适合我的答案。
有什么我想念的吗?
sql-server - 在远程数据库上执行函数
我想获得在UNKNOWN远程数据库上执行的函数的结果。
服务器名称和数据库名称仅在运行时提供。
我已经尝试过了,但是没有用:
sql - '=' sp_executesql 附近的语法不正确
我需要delete
所有rows
的table
where
值都是空字符串。(我有多个名称相似的表)。
我试图执行那些在字符串中的 sql 语句:
但它给我带来了错误Msg 102, Level 15, State 1, Line 1
Incorrect syntax near '='.
我试着弄清楚了大约一个小时。任何帮助,将不胜感激。
编辑:
这是我在删除最后一个配额后得到的。@tableName
是nvarchar(MAX)
。
sql - 执行并设置 Quoted_Identifier
我有一个存储过程 [A],它创建另一个存储过程 [B]
[A] 永远不会由最终用户运行,并且没有参数或其他不受信任的数据。相反,我只是使用它来自动创建复杂的 SP [B]。[A] 除非其内部结构发生变化,否则将始终得到相同的结果。因此我认为这是安全的。
[B] 需要 Quoted_Identifiers ON,因为它使用 xml。
如果我复制并粘贴生成的 SP,它可以正常工作,但如果我让 [A] 使用 EXEC 创建它,那么 SP 在运行时会失败。
我尝试SET QUOTED_IDENTIFIERS ON
在 [B] 内添加,但效果不明显。
如果我使用 sp_ExecuteSQL 也会出现同样的问题 我也尝试在调用 [B] 之前将其设置为,但这似乎也没有效果(但为什么它会在它始终打开的上下文中)
我的猜测是 EXEC 和 sp_ExecuteSQL 总是使用设置 OFF 并且 SET 命令由解析器而不是 SQL 引擎本身处理。那么如何让 EXEC 正确创建 proc 呢?