建表.插值的procedure create or replace procedure CREATE_EMP is v_createsql ); v_insertsql ); begin v_createsql := 'create table EMP ( employerid number(8) primary key not null, employername varchar2(20) not null)'; v_insertsql :))||' from dual'; execute i
存储过程: 解决方法如下: 1:查V$DB_OBJECT_CACHE SELECT * FROM V$DB_OBJECT_CACHE WHERE name='CRM_LASTCHGINFO_DAY' AND LOCKS!='0'; 注意:CRM_LASTCHGINFO_DAY为存储过程的名称. 发现locks=2 2:按对象查出sid的值 select /*+ rule*/ SID from V$ACCESS WHERE object='CRM_LASTCHGINFO_DAY'; 注意:CRM_
今天同事遇到一个很奇怪的问题,恢复了一个数据库,表明明存在,用PLSQL和sqlplus都试过了,SQL语句select * from 表名,查询数据,却提示表名不存在异常 然而,使用select * from 用户名.表名的方式,却可以查询出数据 网上有说是没有权限,但实际上已经有权限了 时间来不及,先想了个大招,使用create table 表名 as select * from 用户名.表名的方式新建了一个表,居然还创建表成功了,暂时解决燃眉之急,至于实际原因,还未找到~
存储过程创建语法: create or replace procedure 存储过程名(param1 in type,param2 out type) as 变量1 类型(值范围); 变量2 类型(值范围); Begin Select count(*) into 变量1 from 表A where列名=param1: If (判断条件) then Select 列名 into 变量2 from 表A where列名=param1: Dbms_output.Put_line(‘打印信息’); El
在使用oracle存储过程时,有一些需要注意的地方,下面就来总结一下. 1.在oracle的存储过程中,数据表别名不能加as 也许是为了区分存储过程中的as,怕与过程中的as冲突. 如: select * from appinfo a; --正确 select * from appinfo as a; --错误 2.在oracle的存储过程中,select某一字段时,后面必须紧跟into,如果select整个记录,利用游标的话就另当别论了 如: select u.name into unam
oracle 存储过程的基本语法 1.基本结构 CREATE OR REPLACE PROCEDURE 存储过程名字( 参数1 IN NUMBER, 参数2 IN NUMBER) IS变量1 INTEGER :=0;变量2 DATE;BEGIN END 存储过程名字 2.SELECT INTO STATEMENT 将select查询的结果存入到变量中,可以同时将多个列存储多个变量中,必须有一条 记录,否则抛出异常(如果没有记录抛出NO_DATA_FOUND) 例子: BEG
1.在oracle中,数据表别名不能加as,如: select a.appname from appinfo a;-- 正确select a.appname from appinfo as a;-- 错误 也许,是怕和oracle中的存储过程中的关键字as冲突的问题吧 2.在存储过程中,select某一字段时,后面必须紧跟into,如果select整个记录,利用游标的话就另当别论了. select af.keynode into kn from APPFOUNDATION af where
c#调用oracle存储过程返回数据集 2008-12-20 10:59:57| 分类: net|字号 订阅 CREATE OR REPLACE PACKAGE pkg_tableTypeIS type Tabletype is ref cursor; PROCEDURE SP_CPZD ( CPNO IN VARCHAR2, STATUS IN VARCHAR2, t_sql out Tabletype );END;CRE