【发布时间】:2016-06-27 20:34:28
【问题描述】:
伙计们,我真的需要你们的帮助。我已经写了几行代码,现在我被卡住了,因为我无法在 SQL Developer 中运行以下程序。
程序
create or replace
PROCEDURE ROUTSETTER(
var IN VARCHAR2)
IS
COUNT_RECORDS NUMBER := 0;
BASE_TABLE VARCHAR2(20) := 'DROGA';
NEW_TABLE VARCHAR2(20) := 'DROGA_COPY';
BEGIN
SELECT COUNT(*)
INTO COUNT_RECORDS
FROM ALL_OBJECTS
WHERE OBJECT_TYPE = 'TABLE'
AND OBJECT_NAME = NEW_TABLE;
IF COUNT_RECORDS > 0 THEN
EXECUTE IMMEDIATE 'TRUNCATE TABLE '||NEW_TABLE;
dbms_output.put_line('TABLE '||NEW_TABLE||' HAS BEEN TRUNCATED');
ELSE
EXECUTE IMMEDIATE 'CREATE TABLE '||NEW_TABLE||' AS SELECT * FROM '||BASE_TABLE||' WHERE WYCENA = '||var;
dbms_output.put_line('TABLE '||NEW_TABLE||' HAS BEEN CREATED');
END IF;
END ROUTSETTER;
错误
ORA-00933: SQL command not properly ended
ORA-06512: at "PROJEKT.ROUTSETTER", line 17
ORA-06512: at line 6
【问题讨论】:
-
你是说你不能创建它还是真的不能运行它?如果是后者,您如何尝试运行它?
-
简单地说:exec rousetter('IV.4');
标签: oracle stored-procedures plsql oracle-sqldeveloper