使用绑定变量动态传递表名和列名

2024-06-26

有没有办法使用绑定变量将列名和表名动态传递给查询?这可以通过使用简单的串联运算符来完成||,但我想要一种不同的方法来实现这一目标。

EDIT

OPEN abc_cur FOR 'Select :column_name
                  from :table_name' 
                USING column_name,table_name;

在这个例子中我通过column_name as empno,ename and table_name as emp

但这种方法对我不起作用。除了传统的串联方法之外,是否可以采用不同的方法?


表名和列名不能作为绑定变量传递,不行。绑定变量的全部意义在于,Oracle 可以为语句生成一次查询计划,然后使用不同的绑定变量值多次执行它。如果优化器不知道正在访问哪个表或正在选择和过滤哪些列,则它无法生成查询计划。

如果您担心 SQL 注入攻击,并且假设动态 SQL 实际上是必要的(大多数时候,需要诉诸动态 SQL 意味着数据模型存在问题),您可以使用DBMS_ASSERT package http://www.oracle-base.com/articles/10g/dbms_assert_10gR2.php验证表名和列名不包含嵌入式 SQL。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用绑定变量动态传递表名和列名 的相关文章

  • 声明日期,然后添加下一个工作日

    我没有得到我需要的结果 我想做的就是声明我的日期 然后添加下一个工作日 IE CASHDATE 1 这有效 但我需要下一个工作日是 5 号 DECLARE CASHDATE DATETIME SET CASHDATE 2016 12 02
  • ORA-01719: OR 或 IN 的操作数中不允许有外连接运算符 (+)

    运行查询时出现错误 ORA 01719 OR 或 IN 的操作数中不允许有外连接运算符 01719 00000 OR 或 IN 的操作数中不允许使用外连接运算符 原因 or 子句中出现外连接 动作 如果A和B是谓词 要得到 A 或B 的效果
  • 将 XML 文件导入 SQL Server(不使用 BULK)

    我正在尝试将数据从 XML 文件导入到数据库中 我使用了一个测试脚本BULK INSERT 但是当我在实时数据库上进行测试时 权限BULK被禁用 尝试 1 BULK INSERT XMLTable FROM C Radu test xml
  • 在sql中运行累积返回

    希望获得一系列每日收益的连续累积收益 我知道这可以使用 exp 和 sum 来解决 但我的返回序列不是使用 LN 计算的 希望在不使用循环的情况下解决这个问题 因为它们在 sql 中效率非常低 让它跑得快很重要 Dataset 期望的结果
  • 有没有办法刷新 Oracle 中 PL/SQL 的输出?

    我有一个从 shell 脚本中调用的 SQL 脚本 需要很长时间才能运行 目前它包含dbms output put line不同点的声明 这些打印语句的输出会出现在日志文件中 但仅在脚本完成后才会出现 有什么方法可以确保脚本运行时输出出现在
  • 编写 MySQL 查询以获得所需结果

    我正在使用 MySQL 数据库 风险因素有四种类型 严重 高 中 低 表包含如下数据 id uaid attribute value time risk factor 1 1234 Edge Exist 16123 NONE 2 1234
  • 在 CodeIgniter、SQL 中调用布尔值的成员函数 result()

    我试图根据搜索关键字查看 data results 中有哪些数据 但每次都会出现上述致命错误 有人可以帮助我吗 我的控制器 public function execute search search term this gt input g
  • Sql Server 2008 强制日期从 dd/MM/yyyy 到 MM/dd/yyyy

    我在 sql server 2008 上遇到了一个奇怪的问题 我试图用dd MM yyyy格式写入sql server 2008 但是插入日期后它会自动转换为MM dd yyyy 注意 我的电脑时钟格式是dd MM yyyy 我的报告查看器
  • SQL LIKE 的 C# 版本

    有没有办法在 C 中搜索字符串中的模式 像 Sql LIKE 这样的东西会非常有用 正则表达式允许一切LIKE允许以及更多 但具有完全不同的语法 然而 由于规则LIKE是如此简单 其中 表示零个或多个字符 并且 表示一个字符 并且两者LIK
  • 选择视图的列

    我正在尝试选择 a 的列名称view以类似的方式选择information schema columns 我似乎找不到办法做到这一点 有其他人以前这样做过或者知道这是否可能吗 information schema columns Table
  • 当用户单击链接时如何在表中创建新字段

    我的表格如下图所示 In order to insert data from this form into table I coded this supplier info supplier name POST supplier name
  • 从 SQL 数据库反序列化数据

    我有一个小应用程序 由数据库支持 SQLite 但它与问题并不真正相关 我定义了一些类型 例如 data Whatever Whatever Int Int String String data ImportantStuff Importa
  • INSERT INTO 存储过程的输出

    我正在编写一个存储过程 首先在表中插入一个新行 然后 另一个查询需要此查询生成的 ID 是否可以使用 OUTPUT 访问预先生成的 ID 这就是我到目前为止所做的 这几乎是一个猜测 但没有成功 ALTER PROCEDURE dbo add
  • sp_MSforeachtable 在每个表上执行过程

    我想打印一些动态查询来对数据库中的所有表执行过程 这是我到目前为止所写的 EXEC SP MSFOREACHTABLE IF EXISTS SELECT FROM INFORMATION SCHEMA COLUMNS WHERE COLUM
  • 如何在Oracle中获取每周数据

    我制作了一个矩阵报告 其中需要根据选择参数动态显示列 我有一个日期选择参数 如果我在选择参数上选择日期为 03 01 2010 2010 年 3 月 1 日 那么它应该显示为 3 月 1 日 3 月 7 日 这取决于你追求什么 如果您在接下
  • 使用 C# 检索 SQL Server 中具有 varchar 数据类型的字段的大小

    我正在使用 VS 2010 和 SQL Server 2008 在 ASP NET 中创建一个项目 我想检索具有以下内容的列的大小varchar数据类型 e g Varchar 20 我想要 20 而不是最大可能的大小varchar使用 C
  • SQL LIKE 实际上是如何工作的

    例如 当我有这样的字符串时 ABBBCSLAK JDK ASAAAAFJKDSKJFSDF 当我像这样使用 SQL 时 SELECT FROM table WHERE column LIKE JDK 当服务器访问 JDK 时到底会发生什么
  • 通过sql视图向多个表插入数据

    mysql 有没有办法通过视图向多个表插入数据 MySQL 参考手册对于可更新视图是这样说的 一些视图是可更新的 也就是说 您可以在诸如以下的语句中使用它们UPDATE DELETE or INSERT更新基础表的内容 为了使视图可更新 必
  • 时态数据库设计,有一些变化(实时行与草稿行)

    我正在考虑实现对象版本控制 同时需要同时拥有活动对象和草稿对象 并且可以利用某人在这方面的经验的见解 因为我开始怀疑是否有可能在没有潜在可怕的黑客攻击的情况下实现这一点 为了示例 我将把它分解为带有标签的帖子 但我的用例更一般 涉及缓慢改变
  • Python - 将列表作为参数传递给 SQL,以及更多变量

    我试图在 python 3 6 中将未知数量的参数传递给 SQL Server 这是我使用 pypyodbc 的代码 cursor cnxn cursor theargs 1033286869 1053474957 1063654630 1

随机推荐

  • WP7模拟器的独立存储位于PC上的哪里?

    当我们使用模拟器并将文件存储在隔离存储中时 文件实际存储在计算机上的哪里 我的意思是路径 如果 模拟器 指的是模拟器 那么该数据不会存储在主机 PC 上的 真实 文件夹中 模拟器 为了论证 是一个虚拟机 因此它的整个文件夹结构是单独存储的
  • 在 Qt 5.12 的 OpenCV dll 上找不到入口点

    TLDR 将 OpenCV 与 QT MingW 链接会使应用程序在调试时崩溃 但不会在发布时崩溃 我正在尝试在基于 Qt 的大型多操作系统项目中使用 OpenCV 我已经轻松地为 Mac 和 Linux 构建了 OpenCV 但在 Win
  • PowerMockito 与 Jacoco 代码覆盖率

    Powermockito 和 jacoco 的代码覆盖率 在我的项目中 我们使用 powermockito 来覆盖 jacoco api 的代码 看来我们使用 preparefortest xyzimpl class abcd class
  • 为什么我的 HTML 文件无法在浏览器中显示?

    我正在学习如何使用文本编辑器 并且刚刚用它创建了我的第一个文件 它预览了正确的输出 但是当我在浏览器中运行它时 它给了我一个空白页面 正如您所看到的 doctype 和 html 标签以及 head 和 body 都已就位 我使用 Visu
  • OCaml:设置模块

    我想使用 OCaml 生成数据集并在它们之间进行比较 我看过模块类型的文档 例如Set OrderType Set Make等等 但我不知道如何初始化一组或以其他方式使用它们 集合是使用函数接口定义的 对于任何给定的类型 您必须创建一个Se
  • 当托管在 IIS 中时,如何通过代码配置 WCF 服务?

    我的 WCF 服务公开 https 和 http 端点 除了 SSL 之外 它们是相同的 它们映射到相同的代码 最终目的是外部用户通过https连接 内部用户使用http 在开发中这给我带来了一个问题 Cassini VS 中打包的开发 W
  • BOOST_FUSION_ADAPT_TPL_STRUCT 和模板数组大小

    我正在尝试迭代 C 模板结构 这要归功于BOOST FUSION ADAPT TPL STRUCT http www boost org doc libs 1 53 0 libs fusion doc html fusion adapted
  • “窃取工作”与“耸肩工作”?

    为什么我可以找到很多关于 工作窃取 的信息 而没有找到关于 工作耸肩 作为动态负载平衡策略的信息 我所说的 工作耸肩 是指pushing将多余的工作从繁忙的处理器转移到负载较少的邻居上 而不是让处理器闲置pulling从忙碌的邻居那里获取工
  • 变量可以存储在图像或 div 标签中吗?

    我已经成功地创建了一个巨大的div其中包含许多小divs 附加到它上面 所以它创建了一个网格 我的目标是能够在每个较小的变量中存储两个变量divs 瓷砖 目前 我可以通过更改较小的图块来存储一个值innerHTML 但是 我希望能够存储的不
  • 未捕获(承诺中)DOMException:注册失败 - 清单为空或丢失

    我正在尝试使用 Polymer 实现推送通知 我跟着这个链接 https developers google com web fundamentals getting started push notifications 并能够让服务人员注
  • 现有 UIPopoverController 中的 UIImagePickerController

    有没有办法将 UIImagePickerController 推送到现有 UIPopoverController 的导航控制器中 我所知道的是 您必须创建一个新的弹出窗口并在其中添加 UIImagePickerController 但我有一
  • Python 中的文字可以被覆盖吗?

    找不到更好的方式来表达标题 请随时更正 我对 Python 还很陌生 目前正在尝试该语言 我注意到所有内置类型都不能与其他成员一起扩展 例如 我想添加一个each方法到list类型 但那是不可能的 我意识到它是出于效率原因而设计的 并且大多
  • 如何在javascript中访问文件? [复制]

    这个问题在这里已经有答案了 是否可以在 JavaScript 中访问扩展名为 txt 或 file 的文件 我想在我的函数中调用这个文件 如果您谈论的是在 Web 浏览器中运行的 javascript 那么答案是否定的 您无法访问客户端计算
  • 对变量执行 openssh 时无法捕获 stderr-perl

    我想捕获 ssh gt 捕获 到变量后主机上显示的标准错误 例如当我尝试时 use Net OpenSSH my ssh Net OpenSSH gt new host my out ssh gt capture cd home geek
  • 使用 Python 请求通过 POST 请求发送图像

    我目前正在尝试使用 Python 3 5 和 Requests 库来发送 POST 请求 此 POST 将发送一个图像文件 这是示例代码 import requests url https api address files files o
  • python中的多服务器监控/自动重启

    我有 2 个服务器程序 必须使用 GNU Screen 启动 我想使用基于 Python 的程序来强化这些服务器 防止崩溃 该程序启动每个屏幕会话 然后监视服务器进程 如果服务器进程崩溃 我需要 python 代码来终止无关的屏幕会话并再次
  • Blackberry 上的套接字连接比 http 更快吗?

    我正在为 Blackberry 编写一个应用程序 该应用程序最初是在标准 J2ME 中实现的 网络连接是使用完成的Connector open socket 80 代替http 现在 我已经使用这两种方法实现了连接 似乎有时 套接字方法响应
  • 如何获取类库项目中的连接字符串

    在我的 net 解决方案中 我有两个不同的项目 一个 MVC 核心 Web 应用程序项目和一个类库项目 在Web应用程序项目中 数据库连接字符串位于appsettings json文件 我想从类库项目访问该连接字符串 是否可以 如果是 怎么
  • 限制主题创建/更改

    我有一个 3 节点不安全的 kafka v0 10 2 1 集群 禁用了主题自动创建和删除功能 如下所示server properties auto create topics enable false delete topic enabl
  • 使用绑定变量动态传递表名和列名

    有没有办法使用绑定变量将列名和表名动态传递给查询 这可以通过使用简单的串联运算符来完成 但我想要一种不同的方法来实现这一目标 EDIT OPEN abc cur FOR Select column name from table name