救命:表或视图不存在(单独执行时没有问题,一放入过程就出现问题了)
COUNT(*)
----------
31
没有问题
下面:
create or replace procedure ckuName(userName varchar2)
as
num integer;
userName_local varchar2(20);
begin
userName_local := upper(userName);
select count(*) into num from DBA_USERS ;
if num>0 then
execute immediate 'drop user '||userName;
dbms_output.put_line('用户删除成功');
else
dbms_output.put_line('用户不存在');
end if;
end;
/
出错:
Warning: Procedure created with compilation errors
SQL> show error;
Errors for PROCEDURE SYSTEM.CKUNAME:
LINE/COL ERROR
-------- ---------------------------------
7/38 PL/SQL: ORA-00942: 表或视图不存在7/8 PL/SQL: SQL Statement ignored
相关推荐
导入pde时报表或视图不存在的问题.txt
Oracle导入pde时报表或视图不存在的问题
ORACLE单独授权表或视图或存储过程.doc
ORACLE数据库需要授权部分数据表给某个用户,而不是全数据库授权给用户。则可以根据附件内容进行操作。
Oracle删除表前判断表名是否存在若存在则删除
在Oracle中若删除一个不存在的表,如 “DROP TABLE notExistTable”,则会提示: ORA-00942:表或视图不存在, 若使用程序执行该语句则会报异常,这就需要我们再删除表前判断该表是否存在,若存在则删除. 下面是不使用存储过程实现删除表的SQL: 代码如下: <span xss=removed>DECLARE num NUMBER; BEGIN SELECT COUNT(1) INTO num FROM USER_TABLES WHERE TABLE_NAME = UPPER(‘tab
SQL单独授权表或视图或存储过程.doc
不需要整个数据库授权给某个数据库用户,只是需要提供个别数据表、视图、存储过程给某用户。详细内容请见附件
Sql Server中判断表、列不存在则创建的方法
一、Sql Server中如何判断表中某列是否存在 首先跟大家分享Sql Server中判断表中某列是否存在的两个方法,方法示例如下: 比如说要判断表A中的字段C是否存在两个方法: 第一种方法 IF EXISTS ( SELECT 1 FROM SYSOBJECTS T1 INNER JOIN SYSCOLUMNS T2 ON T1.ID=T2.ID WHERE T1.NAME='A' AND T2.NAME='C' ) PRINT '存在' ELSE PRINT '不存在' 第二种方法,短小精悍,可谓精典 IF COL_LENGTH('A', 'C') I


