日期:2014-05-17  浏览次数:21209 次

执行完毕, 但带有警告
代码:
CREATE OR REPLACE PROCEDURE STUDENT_ADD AS
BEGIN
ALTER TABLE STUDENT ADD SAVG NUMBER(6,2);
END;

老是提示带有警告,我刚学Orcale,求各位指点。
------解决方案--------------------
引用:
代码:
CREATE OR REPLACE PROCEDURE STUDENT_ADD AS
BEGIN
ALTER TABLE STUDENT ADD SAVG NUMBER(6,2);
END;

老是提示带有警告,我刚学Orcale,求各位指点。


1)把as改成is
2)把告警贴上来
3)可能是定义者权限问题,有些ddl语句是没法在过程里的编译时执行
------解决方案--------------------

--存储过程中不允许直接使用ddl语句,可以用动态语句执行
CREATE OR REPLACE PROCEDURE STUDENT_ADD AS
BEGIN
   execute immediate 'ALTER TABLE STUDENT ADD SAVG NUMBER(6, 2)';
END;