Oracle 将Select查询的结果获取到一个变量中,并将其作为列值插入另一个表中
我想在Oracle中以脚本的形式执行这3条语句。 但这给了我错误Oracle 将Select查询的结果获取到一个变量中,并将其作为列值插入另一个表中,oracle,plsql,toad,Oracle,Plsql,Toad,我想在Oracle中以脚本的形式执行这3条语句。 但这给了我错误 请帮助请输入Oracle错误代码/消息。您可能还会想到OracleSequencesORA-06550:第6行第1列:PLS-00103:在预期以下情况时遇到符号“SELECT”:开始函数pragma过程子类型当前光标删除在符号“begin”替换为“SELECT”之前存在若要继续。我不想为此使用SP,请在DECLARE块后错过BEGIN。即使添加BEGIN和END,也会出现以下错误:ORA-06550:第18行,第5列:PL/SQ
请帮助请输入Oracle错误代码/消息。您可能还会想到Oracle
Sequences
ORA-06550:第6行第1列:PLS-00103:在预期以下情况时遇到符号“SELECT”:开始函数pragma过程子类型当前光标删除在符号“begin”替换为“SELECT”之前存在若要继续。我不想为此使用SP,请在DECLARE
块后错过BEGIN
。即使添加BEGIN和END,也会出现以下错误:ORA-06550:第18行,第5列:PL/SQL:ORA-00936:缺少表达式ORA-06550:第7行,第1列:PL/SQL:SQL语句忽略ORA-06550:第26行,第2列:PLS-00103:在预期以下情况之一时遇到符号“文件结束”:它表示Pl/SQL已成功创建,但数据未插入表中,现在,记录也已插入。您可以在同一SQL会话中尝试使用选择。和COMMIT
it,如果它是预期的!只有到那时,它才真正可用。@user2124167谢谢,如果您愿意接受它作为答案,我很高兴!:)
DECLARE count NUMBER;
SELECT max(to_number(param_code))+1 INTO count from abc where interface_code='PQR' ;
INSERT INTO abc
( INTERFACE_CODE
, PARAM_CODE
, DSCR
, PARAM_CHAR
, PARAM_NUMBER
, PARAM_DATE
, TRGA_CODE
)
VALUES
( 'PQR'
, count
, 'xyz'
, ''
, ''
, ''
, '*'
)
DECLARE
MY_COUNT NUMBER;
BEGIN
SELECT MAX(to_number(param_code))+1
INTO MY_COUNT
FROM abc
WHERE interface_code='PQR' ;
INSERT
INTO abc
(
INTERFACE_CODE ,
PARAM_CODE ,
DSCR ,
PARAM_CHAR ,
PARAM_NUMBER ,
PARAM_DATE ,
TRGA_CODE
)
VALUES
(
'PQR' ,
MY_COUNT ,
'xyz' ,
'' ,
'' ,
'' ,
'*'
);
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE(SQLERRM);
END;
/