SQL 脚本,如何执行以下脚本?
Posted
技术标签:
【中文标题】SQL 脚本,如何执行以下脚本?【英文标题】:SQL script, how can i execute the following script? 【发布时间】:2018-01-25 11:06:03 【问题描述】:我必须执行这个脚本。问题在于 SQL Developer 我无法运行它,因为某些运算符无法识别。
P_jobgroup_id :
'GDWH2MYGDWH-GDWH2MYGDWH' CORE load finished
'GDWH2MYGDWH-GDWH2MYGDWH_IF' IF finished
'GDWH2MYGDWH-GDWH2MYGDWH_INIT' IF or CORE started
declare
p_context_code varchar2(100) := 'GDWH2MYGDWH';
v_res varchar2(100);
begin
v_res := OJC.jc_master.main
(
p_batch_number => NULL,
p_jobgroup_id => 'GDWH2MYGDWH-GDWH2MYGDWH'),
p_parameters_string => 'GDWH2MYGDWH.PRM_REPORTING_DATE='||to_char(sysdate,'yyyymmddhh24miss',
p_context_code =>p_context_code
);
end;
/
从命令的第 1 行开始的错误:P_jobgroup_id:错误报告: 未知命令
从命令的第 2 行开始出错:'GDWH2MYGDWH-GDWH2MYGDWH' 核心加载完成错误报告:未知命令 ORA-06550:第 8 行, 第 50 列:PLS-00103:在期待其中之一时遇到符号“,” 以下:
。 ( * % & = - + ; at in 是 mod 余数不是 rem
【问题讨论】:
declare
前面的部分应该怎么做?
这些是与发布状态相关的声明 (gdwh2mygdwh),因此如果接口启动 (IF),它应该将表数据编辑为 GDWH2MYGDWH-GDWH2MYGDWH_INIT。主要问题是如何从声明及以下运行。谢谢
在 DECLARE 之前评论该部分;恐怕在这种情况下它是无效的。
DECLARE 之前的整个部分在 PL/SQL 中是无效的——你希望它做什么?你在manual 哪里找到了那个语法?
好的,但是声明后如何运行代码?因为我可以尝试删除那部分代码,看看会发生什么......但是仍然有很多其他语法错误,例如=>。
【参考方案1】:
脚本的第一部分不是有效的 PLSQL 代码。 注释或删除它会使脚本运行,一旦修复了几个语法错误。
/*
P_jobgroup_id :
'GDWH2MYGDWH-GDWH2MYGDWH' CORE load finished
'GDWH2MYGDWH-GDWH2MYGDWH_IF' IF finished
'GDWH2MYGDWH-GDWH2MYGDWH_INIT' IF or CORE started
*/
DECLARE
p_context_code VARCHAR2(100) := 'GDWH2MYGDWH';
v_res VARCHAR2(100);
BEGIN
v_res := OJC.jc_master.main
(
p_batch_number => NULL,
p_jobgroup_id => 'GDWH2MYGDWH-GDWH2MYGDWH',
p_parameters_string => 'GDWH2MYGDWH.PRM_REPORTING_DATE=' || TO_CHAR(SYSDATE, 'yyyymmddhh24miss'),
p_context_code => p_context_code
);
END;
/
【讨论】:
以上是关于SQL 脚本,如何执行以下脚本?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 sql server 中查看执行脚本的历史记录及其执行时间和计数?