Oracle 将Select查询的结果获取到一个变量中,并将其作为列值插入另一个表中

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中以脚本的形式执行这3条语句。 但这给了我错误


请帮助

请输入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;
/