一旦我运行以下块:
BEGIN
dbms_output.enable;
dbms_output.put_line('INFO: Calling stack');
delete from A
where B_ID in (
select ID
from B
where B_COL is null
);
END;
/
我总是收到以下错误:
ORA-06550:第9行,第9栏:
PL / SQL:ORA-00904:“B_COL”:标识符无效
我不允许在pl / sql块中放置删除语句吗? “B_COL”栏肯定存在。
知道这可能是什么,或者我应该在其他地方看看?我坚持下去了。任何形式的投入都不仅仅是值得赞赏的。感谢。
答案 0 :(得分:3)
适合我。
create table a (b_id integer);
create table b (id integer, b_col integer);
begin
delete from a
where b_id in (
select id
from b
where b_col is null
);
end;
/
您的实际代码中肯定存在其他问题。
答案 1 :(得分:1)
该块应该运行。该消息只会在此处提到的列不存在或存在某些不同名称时到达。请再次查看表格说明。