通过数据库链接立即执行

2024-03-16

是否可以通过数据库链接在远程数据库上执行动态 PL/SQL?

我正在寻找类似的东西:

l_stmt := 'begin null; end;';
execute immediate l_stmt@dblink;

上面的语法显然是错误的,我明白了PLS-00201:必须声明标识符“L_STMT@DBLINK”.

可以远程创建过程然后执行它。有没有一种方法可以在不创建远程过程的情况下执行代码?

编辑: 我正在尝试解决通过数据库链接传递类型的问题。远程过程需要 t_id_tab 类型的参数,该参数在远程 DB 上定义为

CREATE OR REPLACE TYPE T_ID_TAB AS TABLE OF NUMBER(12)

您可以通过调用远程数据库上的 DBMS_SQL 包来执行任意代码。

Sample:

set serveroutput on

create or replace synonym remote_dbms_sql for dbms_sql@core;

declare
  c  number;
  l_global_name  varchar2(200);
begin
  c := remote_dbms_sql.open_cursor();
  remote_dbms_sql.parse( c, 'select global_name from global_name', dbms_sql.native );
  remote_dbms_sql.define_column( c, 1, l_global_name, 200 );
  dbms_output.put_line( remote_dbms_sql.execute_and_fetch( c ) );
  remote_dbms_sql.column_value( c, 1, l_global_name );
  dbms_output.put_line( l_global_name );
  remote_dbms_sql.close_cursor( c );
end;
/

请注意,对 DBMS_SQL.NATIVE 的引用是本地的,而不是远程的。您无法引用远程包常量,但该常量的实际值可能在两个数据库中是相同的。

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

通过数据库链接立即执行 的相关文章

  • 在 Oracle BI Publisher 中将数字转换为单词

    我有一个要求 我需要将发票总金额显示为 rtf 中的文字 我尝试过 but it doesn t show any thing Is there any RTF Tag to do such a requirement on layout
  • Oracle SQL - 将 oracle sql 中的 id 更新为按顺序排列

    我在 Oracle SQL 中有一个表 其 id 按递增顺序排列 但由于编辑原因 id 中存在间隙 例如id 目前类似于 22 23 24 32 33 44 etc 我想通过浏览表中的每一行并更新它们来修复这些差距 这样就不会有差距 最好的
  • 通过一个表中的列更新另一表中的列

    我有两张桌子 A 和 B 两者都有一个共同的列 name 并通过列 id 相互链接 表A中的 name 列是空的 而表B中有数据 我的任务是用相应的id填充从表B到表A的该列中的所有数据 我正在使用以下查询 UPDATE A SET A n
  • Oracle 12 对 SQL 中的本地集合类型有问题吗?

    长话短说 我建议讨论下面看到的代码 运行时 Oracle 11 编译器引发 PLS 00306 调用 PIPE TABLE 时参数提示的数量或类型错误 PLS 00642 SQL 语句中不允许使用本地集合类型 Oracle 12编译下面的包
  • SQL选择符号||是什么意思意思是?

    什么是 在 SQL 中做什么 SELECT a b AS letter 表示字符串连接 不幸的是 字符串连接不能在所有 sql 方言之间完全移植 ANSI SQL 中缀运算符 mysql concat 可变参数函数 caution 表示 逻
  • oracle 数据透视表中的列

    示例选择 select from select 1 cnt 2 sm 55 name 12 month 2011 year 12 2011 mnth txt from dual union all select 1 cnt 2 sm 54
  • Rails 建模:将 HABTM 转换为 has_many :through

    我正在现有的 Rails 站点上进行维护工作 并且遇到了一些由多对多关联引起的问题 看起来该网站最初是使用has and belongs to many对于一些业务逻辑变得更加复杂的关系 所以我需要使用has many through而是支
  • 从 oracle 中为每个组选择最新行

    我在留言簿中有一张包含用户评论的表格 列有 id user id 标题 评论 时间戳 我需要为每个用户选择最新行 我尝试使用 group by 执行此操作 但没有管理它 因为我无法在按 user id 分组的同一查询中选择任何其他内容 SE
  • 如何对Oracle进行SQL注入

    我正在对一个系统进行审计 开发人员坚称该系统可以防止 SQL 注入 他们通过去掉登录表单中的单引号来实现这一点 但后面的代码没有参数化 它仍然使用字面 SQL 如下所示 username username Replace var sql s
  • oracle日期序列?

    我有一个 oracle 数据库 我需要一个包含 2 年所有日期的表 例如来自01 01 2011 to 01 01 2013 首先我想到了一个序列 但显然唯一支持的类型是数字 所以现在我正在寻找一种有效的方法来做到这一点 欢呼骗局 如果您想
  • 在 Oracle 中创建数据库链接时出错

    我有两个数据库 需要编写跨数据库查询 所以我试图创建一个数据库链接 CREATE PUBLIC DATABASE LINK DBLink CONNECT TO SchemaName IDENTIFIED BY 123 using DBNam
  • Oracle Many OR 与 IN () 的 SQL 性能调优 [重复]

    这个问题在这里已经有答案了 我手头没有 解释计划 您能帮忙判断以下哪一个更有效吗 选项1 select from VIEW ABC where STRING COL AA OR STRING COL BB OR STRING COL BB
  • sqlldr.exe 不适用于 Windows 10

    我最近通过自定义安装安装了 Oracle 数据库客户端 12 1 0 2 0 winx64 并仅选择包括 SQL Loader 等在内的数据库实用程序 但是当我尝试执行 sqlldr exe 时 出现以下错误 在网上搜索后 我从所有站点 即
  • 如何在Oracle中从表中选择列,*?

    我正在创建很多脚本 有时为了检查表是否根据我的需要进行更新 我会即时编写几个 SELECT 语句 在 SQL SERVER 中你可以这样写 SELECT Column1 FROM MY TABLE 出于可见性原因 这很有用 但是这似乎在 O
  • Oracle 删除约束级联等效于 Sql Server

    在Oracle中 删除约束PK SAI我使用语法 ALTER TABLE SAISIE DROP CONSTRAINT PK SAI CASCADE SQL Server 中与此等效的是什么 您正在考虑与实际 DELETE 语句相关的 FO
  • 如何检查oracle数据库中分配给模式、角色的对象的权限(DDL、DML、DCL)?

    大多数时候 我们都在与愚蠢的事情作斗争 以获取架构 角色及其对象的权限详细信息 并尝试找到一些简单的方法来获取有关它的所有详细信息以及伪查询代码 以批量生成授予语句以供进一步使用执行 所以我们在这里得到它 关于数据字典视图前缀的一些简单介绍
  • 从 PL/SQL 调用 shell 脚本,但 shell 以 grid 用户而非 oracle 身份执行

    我正在尝试使用 Runtime getRuntime exec 从 Oracle 数据库内部执行 shell 脚本 在 Red Hat 5 5 上运行的 Oracle 11 2 0 4 EE CREATE OR REPLACE proced
  • ORA-00933 与内部联接和“as”混淆

    我有一个使用以下命令从两个表中获取数据的查询inner join 但我收到错误SQL command not properly ended as 下面有一个星号 select P carrier id O order id O aircra
  • 如何计算选择查询的最佳获取大小

    在 JDBC 中 默认获取大小为 10 但我想当我有一百万行时 这不是最佳获取大小 据我所知 获取大小太低会降低性能 但如果获取大小太高也会降低性能 我怎样才能找到最佳尺寸 这对数据库端有影响吗 它会占用大量内存吗 如果您的行很大 请记住
  • SQL 错误:ORA-14006:无效的分区名称

    我正在尝试使用以下 SQL 语句对 Oracle 12C R1 中的现有表进行分区 ALTER TABLE TABLE NAME MODIFY PARTITION BY RANGE DATE COLUMN NAME INTERVAL NUM

随机推荐

  • 如何将 ssh 作业发送到后台

    我通过 ssh 登录到远程服务器并启动了一个 php 脚本 看起来需要 17 个小时才能完成 有没有办法断开连接但保持脚本执行 我没有进行任何输出重定向 所以我看到了所有输出 您现在可以停止该过程吗 如果是这样 启动screen http
  • Powershell - Outlook 将所有邮件标记为已读然后删除

    试图解决这个问题时遇到一些问题 由于某种原因 我的脚本无法正常工作 它应该将收件箱文件夹中的所有邮件标记为已读 然后删除它们 但是 当脚本运行时 它只会删除 count emails 显示的一半 怎么解决这个问题 我是不是做错了什么 out
  • 向 Google Visualization LineChart 添加一个垂直线标记,当鼠标移动时该标记也会移动?

    是否可以在 LineChart 上显示垂直线标记 显示当前 x 轴值 并在鼠标移动时移动 提前致谢 虽然这在以前很困难 但最近 API 的更新使其变得更加容易 您需要使用鼠标悬停事件处理程序来获取鼠标坐标 并使用新的 ChartLayout
  • 在 haskell 中定义一个新的 monad 不会引发 Applicative 的实例

    我正在尝试定义一个新的 monad 但遇到了一个奇怪的错误 纽莫纳德 hs newtype Wrapped a Wrap unwrap a instance Monad Wrapped where gt gt Wrap x f f x re
  • ASP.NET MVC 通过文件/文件路径确定 mime 类型

    我正在使用 ASP NET MVC 3 该应用程序的目标是 net 4 0 我试图将虚拟路径作为参数传递给控制器 的操作并返回文件 而不检查服务器上的实际物理路径并提供基本授权 不幸的是 我无法找到合适的 File 方法重载来生成适当的 A
  • Plotly-R:如何制作有间隙的 y 轴?

    Is it possible to create a plotly bar chart e g any chart from the following website https plotly com r bar charts https
  • 在 Java 中将数字转换为灰度颜色

    我试图弄清楚如何将 1 到 50 之间的数字转换为可以在此处使用的灰度颜色 g setColor MyGreyScaleColour 1 表示最亮 白色 50 表示最暗 黑色 e g Color intToCol int colNum co
  • 控制风扇速度

    我想用C 控制风扇速度 我尝试了 WMI 但它对我不起作用 我有配备 Intel Core i5 的 HP ProBook Windows 7 HomePremium 64 位 还有其他方法可以控制风扇速度 获取温度 将风扇速度设置为更高或
  • 使用 ZF 使 Zend_Rest_Server 返回 JSON 而不是 XML

    Zend Rest Server 可以返回 Json 吗 如果没有 有什么替代方案 其他库建议也可以 Zend Rest Server 输出 XML 尽管文档中没有明确指定 有一些替代方案 您可以利用 Zend Framework 提供的整
  • 如何停止谷歌云数据流中的流管道

    我有一个正在运行的流数据流来读取 PUB SUB 订阅 一段时间后或者可能是在处理一定量的数据后 我希望管道自行停止 我不希望我的计算引擎实例无限期地运行 当我通过数据流控制台取消作业时 它显示为失败的作业 有办法实现这一点吗 我错过了什么
  • Mono 编译错误 - 无法从程序集“System”加载类型“System.Runtime.CompilerServices.ReferenceAssemblyAttribute”

    我在编译 CSharp Mono 应用程序时遇到问题 我的Mono版本是2 10 2 这是我收到的错误 程序集 home tmc AcctTerm System dll 中缺少方法 ctor 类型为 System Runtime Compi
  • TinyMCE v4 关闭 blob

    我不想tinymce使用斑点来处理小图像 因为我正在转换它们data images到真实图像 我正在替换img src 当我有了真实的图像之后 我怎样才能做到只得到data image图片 是否可以 我试过 automatic upload
  • 如何在 OS X 中使用 Java 查找用户的“文档”文件夹?

    我想在用户的 文档 文件夹中创建一个目录 但到目前为止我只找到了如何获取用户的主目录 javax swing JFileChooser fr new javax swing JFileChooser javax swing filechoo
  • scipy 偏态分布的随机变量

    尝试从 SciPy 的分布中抽取随机数 就像使用 stats norm rvs 一样 然而 我试图从我拥有的经验分布中获取数字 这是一个倾斜的数据集 我想将倾斜和峰度合并到我正在绘制的分布中 理想情况下 我只想调用 stats norm r
  • functools.partial 不能与 multiprocessing.Pool.map 一起使用吗?

    我的代码经过简化 如下所示 run functools partial run grep options grep print only options print only force options force if not optio
  • 错误:getaddrinfo EAI_AGAIN(docker、nginx)

    我知道此错误与 DNS 查找超时错误相关 意味着它是网络连接错误或代理相关错误 但是我不知道如何解决它 我使用 docker compose yml 里面有 3 个容器 这是我的 docker compose yml 作为链接 docker
  • 数据表加载速度非常慢

    我使用数据表作为页面上某些下拉列表的数据源 但注意到页面在回发期间非常慢 我已经追踪到这里 DataTable dt new DataTable dt Load sqlCmd ExecuteReader this takes ages sq
  • 如何使用百分比作为参数调整 HTML 中的图像大小?

    我想调整我网站上的图像大小 我知道如何通过之前调整图像大小或计算宽度和高度并以像素为单位设置值来做到这一点 但我多次使用不同尺寸的同一张图片 因此如果我可以相对于图像本身的大小调整图像的大小 那么我会花费更少的时间 img src imag
  • 数组按字母顺序排序?

    假设我有两个字符串数组 名为 arrayone 和 arraytwo 我将如何按照字母顺序 从 A 到 Z 对 arrayone 进行排序 同时仍然保持与第二个数组的关系 如果您想知道 arrayone 和 arraytwo 中的内容 1
  • 通过数据库链接立即执行

    是否可以通过数据库链接在远程数据库上执行动态 PL SQL 我正在寻找类似的东西 l stmt begin null end execute immediate l stmt dblink 上面的语法显然是错误的 我明白了PLS 00201