INTO保留关键字不能用作标识符



我在oracle中编写了一个脚本,用于将现有字段的值捕获到变量中,然后将该值用于插入语句。我收到错误 INTO 保留关键字不能用作此代码行的标识符

SELECT INTO act_id8   FROM INSIGHT.INSIGHT_MVC_ACTION  where name like 'ResearchPanel';

脚本

declare
  act_id8  number;

  begin 
    SELECT INTO act_id8   FROM INSIGHT.INSIGHT_MVC_ACTION  where name like 'ResearchPanel';

    INSERT INTO INSIGHT.INSIGHT_MVC_ROLE_ACTION(ROLE_ID,ACTION_ID,PERMISSION_ID) VALUES(6012,act_id8,5);
    INSERT INTO INSIGHT.INSIGHT_MVC_ROLE_ACTION(ROLE_ID,ACTION_ID,PERMISSION_ID) VALUES(6000,act_id8,5);
    INSERT INTO INSIGHT.INSIGHT_MVC_ROLE_ACTION(ROLE_ID,ACTION_ID,PERMISSION_ID) VALUES(6001,act_id8,5);
    INSERT INTO INSIGHT.INSIGHT_MVC_ROLE_ACTION(ROLE_ID,ACTION_ID,PERMISSION_ID) VALUES(6002,act_id8,5);
    INSERT INTO INSIGHT.INSIGHT_MVC_ROLE_ACTION(ROLE_ID,ACTION_ID,PERMISSION_ID) VALUES(6003,act_id8,15);
    INSERT INTO INSIGHT.INSIGHT_MVC_ROLE_ACTION(ROLE_ID,ACTION_ID,PERMISSION_ID) VALUES(6004,act_id8,5);
    INSERT INTO INSIGHT.INSIGHT_MVC_ROLE_ACTION(ROLE_ID,ACTION_ID,PERMISSION_ID) VALUES(6005,act_id8,5);
    INSERT INTO INSIGHT.INSIGHT_MVC_ROLE_ACTION(ROLE_ID,ACTION_ID,PERMISSION_ID) VALUES(6006,act_id8,5);
    INSERT INTO INSIGHT.INSIGHT_MVC_ROLE_ACTION(ROLE_ID,ACTION_ID,PERMISSION_ID) VALUES(6015,act_id8,5);
    INSERT INTO INSIGHT.INSIGHT_MVC_ROLE_ACTION(ROLE_ID,ACTION_ID,PERMISSION_ID) VALUES(1005,act_id8,5);
    INSERT INTO INSIGHT.INSIGHT_MVC_ROLE_ACTION(ROLE_ID,ACTION_ID,PERMISSION_ID) VALUES(1006,act_id8,5);
    INSERT INTO INSIGHT.INSIGHT_MVC_ROLE_ACTION(ROLE_ID,ACTION_ID,PERMISSION_ID) VALUES(6011,act_id8,5);
    INSERT INTO INSIGHT.INSIGHT_MVC_ROLE_ACTION(ROLE_ID,ACTION_ID,PERMISSION_ID) VALUES(6079,act_id8,5);
    INSERT INTO INSIGHT.INSIGHT_MVC_ROLE_ACTION(ROLE_ID,ACTION_ID,PERMISSION_ID) VALUES(6080,act_id8,15);
    INSERT INTO INSIGHT.INSIGHT_MVC_ROLE_ACTION(ROLE_ID,ACTION_ID,PERMISSION_ID) VALUES(1004,act_id8,5);
    INSERT INTO INSIGHT.INSIGHT_MVC_ROLE_ACTION(ROLE_ID,ACTION_ID,PERMISSION_ID) VALUES(6041,act_id8,5);
    INSERT INTO INSIGHT.INSIGHT_MVC_ROLE_ACTION(ROLE_ID,ACTION_ID,PERMISSION_ID) VALUES(1007,act_id8,5);
    INSERT INTO INSIGHT.INSIGHT_MVC_ROLE_ACTION(ROLE_ID,ACTION_ID,PERMISSION_ID) VALUES(6007,act_id8,5);
    INSERT INTO INSIGHT.INSIGHT_MVC_ROLE_ACTION(ROLE_ID,ACTION_ID,PERMISSION_ID) VALUES(6025,act_id8,5);
    INSERT INTO INSIGHT.INSIGHT_MVC_ROLE_ACTION(ROLE_ID,ACTION_ID,PERMISSION_ID) VALUES(6016,act_id8,5);

commit; 
end

您忘记包含要选择的字段的名称。你写的

SELECT INTO act_id8   FROM INSIGHT.INSIGHT_MVC_ACTION  where name like 'ResearchPanel';

你应该写一些类似的东西

SELECT some_field INTO act_id8   FROM INSIGHT.INSIGHT_MVC_ACTION  where name like 'ResearchPanel';

some_field替换为您要检索的字段名称INSIGHT_MVC_ACTION,您应该很好。

你写的

SELECT INTO act_id8   FROM INSIGHT.INSIGHT_MVC_ACTION ...
      ^
      |
select what exactly into act_id8 variable? That's missing!

最新更新