问题标签 [plsql-package]
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.
oracle - 需要帮助来创建循环执行的清除操作
我将运行一个 pl/sql 块来删除表中超过 30 天的所有数据。
条件是这样的:
它将一次删除 200k 数据,在删除 200k 数据后,我必须等待 10-15 秒。该表中有大约 1 亿条记录。我想在自动化脚本中完成整个删除过程。
这是我写的上面的plsql块。如何在多个循环中执行此操作,并且在每个循环之后将有 10-15 秒的等待期,并且对于下一个 200k 数据将再次进行删除操作。循环将继续,直到所有数据都被删除。
注意:对于等待期,DBMS_LOCK.sleep 没有授权
oracle - 如何使用 APEX 函数编译 Oracle 包?
我正在尝试编译我的同事留给我的 Oracle 包。但是,包装规格。包含一些我的 Oracle 环境中可能没有构建的功能。
当我尝试在 Oracle 开发人员中编译包规范时,我说
'V' must be declared.
由于给我留下这段代码的同事不再可用,我不知道如何编译它们。
oracle - 包级别变量存储在 oracle 中的什么位置?有桌子吗?
我们在包级别声明的变量,可以在包中使用,这些变量在包执行时存储在哪里。
他们有我们可以检查的表格吗?
检查了一些网站,包括 oracle 文档,但找不到我的问题的准确答案。请指教。
oracle - 解压缩/处理存储在 Oracle 文件夹中的大文件 gz
在 Oracle 11 中解压缩大文件
大家好,我有一个大(大约 4gb)压缩文件 (gz) 存储在 Oracle 文件夹中。该文件包含一些必须上传到表中的数据。解压后的文件大小约为 50GB。
我不能在外部表定义中使用预处理器选项。
我试图解压缩它并将数据存储在一个带有 BLOB 字段的表中,不幸的是它花了 5 个小时,似乎出了点问题。
关于如何让它更快的任何想法?
谢谢。马可
oracle - 从包中授予/撤销对过程的执行权限
我在一个包(即)中有几个存储过程(比方说PROC_1
和) ,它位于模式/用户之一(即)下。PROC_2
PROC_PKG
A
我需要向另一个用户(即B
)授予执行权限。
所以我已经尝试过以下命令:
grant execute on PROC_1 TO B;
grant execute on A.PROC_1 TO B;
grant execute on PROC_PKG.PROC_1 TO B;
grant execute on A.PROC_PKG.PROC_1 TO B;
PS:我只想允许用户
B
访问PROC_1
,这意味着用户B
不应该能够PROC_2
从同一个包访问。
plsql-package - 使用 2 个过程创建 PL/SQL 包以根据参数标志 0、1、2 创建动态 db_link 并插入、更新现有表
.procedure 创建和删除 dblink(flag)
如果传递 0 然后创建
如果通过 1 然后检查
如果通过 2 然后下降
立即执行'创建数据库链接DBLINK_' || cur.SYSTEM_NAME || ' 使用 '''|| 连接到由 b00wnerk0j 标识的 BOOWNER cur.IP_ADDRESS ||':1521/XE''';
dbms_output.put_line('select 1 from dual@DBLINK_'||cur.SYSTEM_NAME||'');
-- 立即执行 'select 1 from dual@DBLINK_'||cur.SYSTEM_NAME||'' 进入 vData;
-- dbms_output.put_line(vData);
-- 如果 (vData =1) 那么
DBMS_OUTPUT.put_line('更新执行中..!');
别的
-- DBMS_OUTPUT.put_line('更新未执行..!');
- 万一;
FUNCTION store_Validate_DBLINK(alink IN VARCHAR2)
返回号码为
nCnt数;
vSql varchar2(32000);
BEGIN vSql := 'SELECT 1 FROM dual@'||alink; 立即执行 vSql 到 nCnt;返回 nCnt;当其他人返回 0 时出现异常;
2.程序开始
for j in (select distinct loc_idnt from KOJ_CLOCKINOUT_MISSING t where status = 0 order by loc_idnt) loop call dblink procedure(0);
调用 dblink 过程(1);for i in (select * from KOJ_CLOCKINOUT_MISSING t where status = 0 and t.loc_idnt = j.loc_idnt order by loc_idnt, day_dt) 循环
执行立即'插入到 kojobj.KOJ_CLOCKINOUT_PULLED
select id_em, ts_em_tm_enr, id_str_rt, rc_em_tm_enr,
typ_cd_tm_enr, mod_flag, ts_crt_rcrd, ts_mdf_rcrd,
dc_dy_bsn, sysdate TS_WH_UPD_RCRD, 0
WH_RCRD_PRCD_FLAG from boowner.co_em_tm_enr@DBLINK_MIK20082 where ( trunc(TO_DATE(TO_CHAR(yy.ts_em_tm_enr, 'YYYY-MON-DD HH24: MI:SS'), 'YYYY-MON-DD HH24:MI:SS')) = i.day_dt 或 to_date(yy.dc_dy_bsn, 'YYYY-MM-DD') = i.day_dt) 和 yy.id_str_rt = i .posstore ; '; 结尾;
更新 KOJOBJ.KOJ_CLOCKINOUT_MISSING 设置状态 = 1 ,评论 =
'Data Pulled' -- 如果 ststus = 0 数据不可用
其中 poststore= i.posstore 和 day_dt = i.dat_dt ;
结束循环;调用 dblink 过程(2);-- 在末尾删除 db_link
结尾;
oracle - 如何将 SRW 包添加到现有的 Oracle 数据库?
我正在设置新的oracle db,并想添加用于oracle 报告的SRW 包。如何添加此包,在哪里可以找到该包的功能和过程?还是我应该自己编写 PL/SQL 代码?编辑:DB 用于 ERP。
sql - 我们可以从另一个包中调用一个包的私有过程吗?我们可以从一个私有包中调用数据库过程吗
在私有包中调用数据库过程
plsql - 如何在与另一个不同的架构中调用不同包中的过程
我想在与当前运行的模式和包不同的一个包中调用一个模式中声明的过程
还有一个几乎相关的问题,但我的不同之处在于被调用的过程在另一个模式和包中,而不仅仅是另一个包。
将此过程视为在模式 SCHEMA1 下运行,而 PKG_EMAIL_PAGE 是存在于模式 SCHEMA2 下的包。
使用 SQL Developer 菜单选项,据说我将 PKG_EMAIL_PAGE.SENDMSG 的 EXECUTE 访问权限授予 SCHEMA2。也就是说,它说它成功了。
虽然我无法让它工作:
因为它说
感谢您的阅读;樵夫
oracle - 当我选择时,我在正文包 pl/sql 中遇到问题
我目前有一个存储在包中的过程。我想从客户端表中获取所有数据,但出现错误。问题出在过程存储的 p_listar_cliente 中。
代码是:
创建表并插入
创建包:
车身包装:
我有这个问题:
错误:PACKAGE BODY PAQUETE_CLIENTE_LISTAR Line/Col:30/21 PLS-00103:在预期以下情况之一时遇到符号“CLIENTE”:
:= 。( @ % ; 符号 ":=" 被替换为 "CLIENTE" 以继续。
行/列:32/13 PLS-00103:在预期以下情况之一时遇到符号“CLIENTES_CURSOR”:
:= 。(@%;