问题标签 [dynamic-sql]

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 投票
9 回答
622 浏览

sql - 我们认为什么是动态 sql 语句?

a) 我们认为什么是动态 sql 语句?
任何动态添加子句甚至只是子句的一部分到 SQL 字符串的 sql 语句?

b)那么使用占位符来动态提供值的参数化字符串是否也被视为动态 sql 语句?

谢谢

0 投票
2 回答
1080 浏览

sql - 编写 SQL 生成器,我应该读什么?

我很快将要编写一个组件,它采用元数据并从中生成动态 SQL。大多数情况下,我们在谈论 SELECT、INSERT、UPDATE、DELETE 的东西,但我想其中也可能有一些 CREATE/ALTER TABLE 语句。

我确信没有任何现有的 ORM 解决方案符合要求,但除此之外,关于什么在哪里以及如何做的细节仍然有点模糊。

我可以像任何其他开发人员一样编写 SQL 语句,并且过去使用过一点 NHibernate,但我对数据库或 ORM 背后的理论几乎一无所知。我想完成我的准备工作,所以我正在寻找任何建议的阅读或代码。

顺便说一句,我的编码环境是 .NET (C#) 和 SQL Server。

0 投票
3 回答
8514 浏览

sql - 什么是动态 SQL 查询,我什么时候想使用它?

什么是动态 SQL 查询,我什么时候想使用它?我正在使用 SQL Server 2005。

0 投票
2 回答
4986 浏览

asp.net - 在 proc (Sql Server 2008) 中使用 sp_executesql 时出现“选择权限被拒绝”错误

我正在使用 Sql Server 2008 并且有一个在内部使用 sp_executesql 的过程。通过 ASP.NET 执行过程时,我不断收到以下错误:

对象“MyTable”、数据库“MyDatabase”、模式“dbo”的 SELECT 权限被拒绝。

我对此进行了大量研究,大多数人都指出我需要授予对我的动态查询读取的基础表的选择权限。好吧,我已经这样做了,但它似乎仍然不起作用:

如您所见,我在尝试授予基础表上的选择时已经过分了。我什至重写了我的过程,以便它只在动态 sql 中引用 MyTable。我什至已授予上述所有用户对进程的“执行”权限......不走运。

上面的“myuser”是我在 web.config 中的连接字符串中的用户名。

我在这里错过了什么吗?

谢谢!戴夫

0 投票
2 回答
3431 浏览

sybase - 动态生成的数据窗口中的列名

当我使用 SyntaxFromSQL 动态创建数据存储时(为了生成数据存储源代码,基于 SQL SELECT 语句),语法如下

如何检查生成的数据存储列的名称ds_1?我提醒您,在连接两个或多个表的 select 语句的情况下,生成的列名可能会在相关的表名之前,例如,而不是获取列名field_id,我可能会得到一个列名,例如:my_table_field_id。当稍后我将列名 ( field_id) 作为GetItem函数的参数提供时,这会导致问题,而相关的数据存储区已经命名了该列my_table_field_id

更糟糕的是,我发现我得到不同的列定义(前面是表名)的原因之一是用户的登录名被分配了sa role!?!?!

0 投票
2 回答
214 浏览

sql - SQL 从任意数量的相同表中选择记录

我正在尝试使用具有相同结构和相关名称的多个表来查询数据库(SQLServer),即

我有一个查询一次返回一个表上的所需记录,并且可以手动选择多个表

我替换所需表名的通用查询大约有 200 行,涉及 ROWNUMBER()/PARTITION BY 函数、与相关表的多个连接和一些排序。

随着时间的推移,将添加新表并且n将发生变化。

谁能建议一种从所有n表中为任意n值选择 UNION 记录的方法?

注意:n个表的列表可以通过对sysobjects表的查询轻松获得

0 投票
3 回答
226 浏览

sql-server - 由 IF 语句检索的 SELECT SQL 表

大家好,

我想要做的就是这样,我将根据我的参数有一个 SQL 表,

这只是我作为示例给出的一个简单表,我真正的 sql 查询要大得多,所以我认为我不能在这个查询中使用动态 sql。所以我需要一些其他的方法。

0 投票
1 回答
1944 浏览

sql - oracle中动态创建和执行sql命令

我正在学习数据库课程,在课程的实验部分开始时,我们通常必须删除之前创建的数据库中的所有表。我希望能够运行一个动态执行此操作的脚本,但似乎无法使其正常工作。这是我到目前为止的代码。

如果有人能指出我做错了什么的正确方向,那就太好了。谢谢。

0 投票
4 回答
20942 浏览

sql - 如何执行作为 sp 参数传递的 sql 文本?

我有一个带有 nvarchar 参数的存储过程。我希望调用者在使用此 SP 时为 sql 命令提供文本。

如何从 SP 中执行提供的 sql 命令?

这甚至可能吗?

我认为使用 EXEC 是可能的,但如下:

错误表明它无法找到给定名称的存储过程。由于它是一个脚本,这显然是准确的,但让我认为它没有按预期工作。

0 投票
2 回答
4679 浏览

debugging - 在 SQL Server 2008 中调试长动态 sql

我有一些动态 sql 语句在某些条件下会爆炸,所以我正在尝试调试它。它是这样构建的:

正如我所说,它在循环的特定迭代中爆炸(不要问我为什么要这样实现,我只是在修复一个错误)并且我很难在监视窗口中显示字符串的内容. 我想我只得到前 255 个字符。观察substring(@sql, 0, 200)结果'substring(@sql,0,200)' could not be evaluated。请帮忙。我希望观察从 0 到 199、从 200 到 399 等等的子串,然后把这个东西拼凑起来,最后调试它。

我会很感激你的指点。谢谢!