精华内容
下载资源
问答
  • pls 00201 必须声明标识符 代码如下 ``` 创建: create or replace procedure test_sse(v_num OUT VARCHAR2) IS BEGIN v_num :='lala'; dbms_output.put_line('v_num:'||v_num); END; 调用: DECLARE ta Varchar...
  • /*<TOAD_FILE_CHUNK>*/ ...1/45 PLS-00201: 必须声明标识符 'SYS.CURSOR_PACKAGE' PL/SQL: Compilation unit analysis terminated (2: 0): Warning: compiled but with compilation errors
  • 主要介绍了Oracle报存储过程中调用DBLink同义词出现错误:PLS-00201: 必须声明标识符的相关资料,需要的朋友可以参考下
  • 转自:... 错误: ORA-06550: 第 1 行, 第 7 列: PLS-00201: 必须声明标识符'ZUO.PROCE_TEST'ORA-06550: 第 1 行, 第 7 列: PL/SQL: Statement ignored 解决方法: (1)用户Us...

    转自:http://blog.csdn.net/u010678947/article/details/20702149

    错误:

    ORA-06550: 第 1 行, 第 7 列: 

    PLS-00201: 必须声明标识符'ZUO.PROCE_TEST'
    ORA-06550: 第 1 行, 第 7 列: 

    PL/SQL: Statement ignored

    解决方法:

    (1)用户UserName授权:

    grant execute on Proc to UserName; 

    (2)查看存储过程属性

    如果不是当前用户:则调用要加名称:如ZUO.Proc

    如果是当前用户:则直接调用即可:如Proc

    转载于:https://www.cnblogs.com/xinxin1994/p/7357387.html

    展开全文
  • 前几天编写一个存储过程,需要访问远程数据库的字段,于是建立一个dbLink并建了同义词: CREATE PUBLIC DATABASE LINK orcl@dbc CONNECT TO orcl IDENTIFIED BY orcl USING 'orcl'; CREATE SYNONYM mtb FOR ...

    前几天编写一个存储过程,需要访问远程数据库的字段,于是建立一个dbLink并建了同义词:

    CREATE PUBLIC DATABASE LINK orcl@dbc CONNECT TO orcl  IDENTIFIED BY orcl USING 'orcl';
    
    CREATE SYNONYM mtb FOR mytable@orcl@dbc

    这里之所以用orcl@bdc为dblink的名称是为了设置global_names=true。

    然后新建一个存储过程调用该同义词:

     v_result mtb.sid%type; 

    调用后发现提示:错误:PLS-00201: 必须声明标识符 'MTB.SID';

    经过多番查找发现确实是因为身份原因,这里需要注意一定要在被访问的数据库中赋予权限,具体代码如下:

    grant select on mytable to orcl;--orcl为用户名

    然后就编译通过了。

     

    转载于:https://www.cnblogs.com/Caesar525/p/8601396.html

    展开全文
  • 存储过程在包中需要用包名.存储过程名,如果是其它用户还要 用户名.包名.存储过程名 OracleCallableStatement callStatement = (OracleCallableStatement)con.prepareCall("{call insert_object(?)}"); ...

    create table gpscoordinate(
    id int primary key,
    longitude VARCHAR(32),
    latitude VARCHAR(32)
    name VARCHAR(32),
    time VARCHAR(32)
    );


    CREATE TYPE department_type AS OBJECT (
    longitude VARCHAR(32),
    latitude VARCHAR(32)
    name VARCHAR(32),
    time VARCHAR(32)
    );


    CREATE TYPE dept_array AS TABLE OF department_type;


    create or replace package objecttype
    as
    procedure insert_object(d dept_array);
    end objecttype;
    create or replace package body objecttype
    as
    procedure insert_object(d dept_array)
    as
    begin
    for i in d.first .. d.last
    loop
    insert into gpscoordinate(longitude,latitude,name,time) values(d(i).longitude,d(i).latitude,d(i).name,d(i).time);
    end loop;
    end insert_object;
    end objecttype;





    //JAVA代码
    {
    Connection con=Util.getConnection();
    con.setAutoCommit(false);
    try{    

    StructDescriptor  st = new StructDescriptor ("DEPARTMENT_TYPE",con);

    STRUCT[] deptArray = new STRUCT[name.length];
    for(int i=0;i<name.length;i++){
    Object[] so={longitude[i],latitude[i],name[i],time};
    deptArray[i]=new STRUCT(st,con,so);

    }
     
             
             ArrayDescriptor arrayDept = ArrayDescriptor.createDescriptor("DEPT_ARRAY", con);
             ARRAY deptArrayObject = new ARRAY(arrayDept, con, deptArray); 
             OracleCallableStatement callStatement = (OracleCallableStatement)con.prepareCall("{call insert_object(?)}");
             callStatement.setArray(1, deptArrayObject);
             callStatement.execute(); 
             con.commit();
             
             Util.close(con, callStatement, null);
             int k=this.getCount();
    System.out.println("现有记录条数:"+k);
    }catch(Exception e){
    con.rollback();
    e.printStackTrace();
    flag=false;
    }
    return flag;
    }

     

    Oracle没错,你java没用明白

    存储过程在包中需要用包名.存储过程名,如果是其它用户还要 用户名.包名.存储过程名

    OracleCallableStatement callStatement = (OracleCallableStatement)con.prepareCall("{call insert_object(?)}");

    改成

    OracleCallableStatement callStatement = (OracleCallableStatement)con.prepareCall("{call objecttype.insert_object(?)}");

     

    对于package里面的procedure调用,不管是JAVA还是oracle,都是包名.过程名这样调用..

     

    create or replace package testpkg is
    
      procedure test1(arg1 in date);
    
    end testpkg;
    
    create or replace package body testpkg is
    
      procedure test1(arg1 in date) is
        v date;
      begin
        v:=arg1;
    
      end;
    
    end testpkg;
    
    --调用包的过程
    create or replace procedure testprg is
    begin
      testpkg.test1(sysdate);
    end testprg;
    
    


     

    展开全文
  • 没有此存储过程

    没有此存储过程。

    展开全文
  • Oracle 报错:PLS-00201: 必须声明标识符

    千次阅读 2017-12-29 15:44:00
    原因:调用其他用户的包或存储过程. 解决方法:在被调用的包或存储过程的用户下授权执行权限给调用用户: grant execute on 包名 to 用户名;
  • 写了个存储过程,昨天还好好的,今天在java里调的时候忽然报错C ...PLS-00201: 必须声明标识符 'P_TJ_CLJYJLTJ' ORA-06550: 第 1 行, 第 7 列: PL/SQL: Statement ignored 找了半天找不到原因,最后刷新发现这个...
  • 一、sql语句: CREATE TABLE person ( id NUMBER(11) NOT NULL , username VARCHAR2(255 ) NULL , age NUMBER(11) NULL , password VARCHAR2(255) NULL , ...二、创建查询所有记录(列表)的存储过程如下
  • Oracle存储过程

    2020-01-16 16:08:01
    声明所使用的标识符不一样 ,函数使用function ,存储过程procedure 1在oracle中方法必须有返回值(必须只能有一个返回值),存储过程没有返回值(但是又返回的参数 可以多个) 2函数用在sql语句中 (可以调用多个),...
  • SQL Server存储过程详解

    2020-04-14 18:36:10
    创建带参数的存储过程首先要在存储过程声明该参数,每个存储过程参数都必须用唯一的名称进行定义。与T-SQL变量相同,参数名必须以@为前缀,并且遵从标识符规则。当用户不提供该参数的值时可以使用一个默认值来代替...
  • 存储过程定义

    2009-07-26 12:54:00
    这个变量在用于 EXECUTE 语句前,必须在批处理、存储过程或函数中声明过。 在用于唤醒调用标量值用户定义函数时,@return_status 变量可以是任何标量数据类型。 procedure_name是拟调用的存储过程的完全合法或者不...
  • 存储过程 语法

    2014-05-21 16:54:00
    创建带参数的存储过程首先要在存储过程声明该参数,每个存储过程参数都必须用惟一的名称进行定义。与标准的Transact-SQL变量相同,参数名必须以@为前缀,并且遵从对象标识符规则。当用户不提供该参数的值时可以...
  • oracle运行存储过程报PLS-00201

    万次阅读 2017-05-25 09:56:23
    oracle运行存储过程报PLS-00201: 必须声明标识符’PROC_GETNEXTVALUE’,网上查了一下是因为没有存储权限。 如果要在存储过程中执行该包,必须显示的(明确的)为该用户赋予其执行权。使用SYS或者SYSTEM登录,为其赋予...
  • 标签:必须字母空格创建数据字符函数名区分大小写lis一、变量Python中的变量不需要声明,变量赋值的过程就是变量声明和定义的过程变量在内存中创建,包括变量的标识、变量名和数据每个变量在使用前都必须赋值,变量...
  • 变量赋值的过程就是变量声明和定义的过程变量在内存中创建,包括变量的标识、变量名和数据每个变量在使用前都必须赋值,变量赋值后该变量才会被创建格式:变量名 = 值 注意:等号两边必须要有空格等号(=)左边是变量...
  • 有无参数之存储过程

    2014-09-18 10:42:28
    一、 创建带参数的存储过程 创建带参数的存储过程首先要在存储过程声明该参数,每个存储过程参数都必须用唯一的名称进行定义。与T-SQL变量相同,参数名必须以@为前缀,并且遵从标识符规则。当用户不提供该参数的值...
  • 利用OCI调用存储过程失败 返回错误码06550 代码: char* strSQL = "begin pro_expired_users...PLS-00201: 必须声明标识符 'PRO_EXPIRED_USERS' ORA-06550: 第 1 行, 第 7 列: PL/SQL: Statement ignored " char [512]
  • 如何创建带参数的存储过程

    万次阅读 2013-05-07 08:27:24
     创建带参数的存储过程首先要在存储过程声明该参数,每个存储过程参数都必须用唯一的名称进行定义。与T-SQL变量相同,参数名必须以@为前缀,并且遵从标识符规则。当用户不提供该参数的值时可以使用一个默认值来...
  • 1、声明所使用的标识符不一样 ,函数使用function ,存储过程procedure 2、函数必须有返回值,存储过程没有返回值 3、存储过程因没有返回值,不能将结果直接赋值给变量。函数有返回值,可以将结果直接赋值给变量,...
  • 1.问题 Java语言实现使用JDBC调用Oracle的存储过程时报了...PLS-00201: 必须声明标识符 'FINDINFO' ORA-06550: 第 1 行, 第 7 列: PL/SQL: Statement ignored at oracle.jdbc.driver.T4CTTIoer.processError(T4CT
  • PLS-00201: 必须声明标识符 'DOINENTITYDATA' ORA-06550: 第 1 行, 第 7 列: PL/SQL: Statement ignored ``` ``` -- 替换或创建存储过程 CREATE OR REPLACE PROCEDURE doInentityData as --声明游标 存储...
  • PL/SQL 变量的声明 标识符 PL/SQL程序设计中的标识符定义与SQL 的标识符定义的要求相同。要求和限制有: ... DECLARE /* 声明部分: 在此声明PL/SQL用到的变量,类型及游标,以及局部的存储过程和函数 */ V
  • Transact-SQL语法

    2010-12-27 20:29:54
    过程必须符合标识符规则,且对于数据库及其所有者必须惟一。 ★ ;number 是可选的整数,用来对同名的过程分组,以便用一条DROP PROCEDURE语句将同组的过程一起除去。 ★ @parameter 过程中的参数。在CREATE ...

空空如也

空空如也

1 2 3 4
收藏数 67
精华内容 26
关键字:

存储过程必须声明标识符