【发布时间】:2015-07-09 07:42:18
【问题描述】:
我正在创建一个名为 emp_inforamtion 的表,并检查该表是否存在于数据库中,如果不存在则创建表,然后将银行表中的数据插入到 emp_information 表中。
DECLARE
ncount NUMBER;
v_sql VARCHAR2(4000);
CURSOR c1
IS
SELECT bank_code,
center_code,
bank_name,
logo
FROM bank
WHERE bank_code ='607143';
BEGIN
SELECT COUNT(1) INTO ncount FROM tab WHERE tname LIKE '%EMP_INFORMATION%';
IF (ncount <= 0) THEN
DBMS_OUTPUT.PUT_LINE (ncount || 'count');
BEGIN
v_sql :=' CREATE TABLE EMP_INFORMATION
(
emp_id VARCHAR2(3),
emp_name VARCHAR2(20),
emp_salary VARCHAR2(3),
emp_department VARCHAR2(3)
)';
EXECUTE immediate v_sql;
COMMIT;
BEGIN
FOR i IN c1
LOOP
INSERT
INTO EMP_INFORMATION
(
emp_id,
emp_name,
emp_salary,
emp_department
)
VALUES
(
i.bank_code,
i.bank_name,
i.center_code,
i.logo
);
END LOOP;
END;
END;
END IF;
end;
/
执行上述游标后发现以下错误:
ORA-06550:第 30 行,第 16 列:PL/SQL:ORA-00942:表或视图不存在
ORA-06550:第 29 行,第 11 列:PL/SQL:忽略 SQL 语句
【问题讨论】:
-
你在哪里检查存在?查看您尝试访问的第 30 行第 16 列;我们这里没有任何行号。
-
我只是给了你一些提示。
-
感谢您的回复。
-
第 30 行 INTO EMP_INFORMATION...语句,第 16 列以 EMP_INFORMATION 开头
-
我认为表没有创建,当它试图将数据插入该表时,它会给出错误,说表或视图不存在......是吗?
标签: plsql