精华内容
下载资源
问答
  • 前几天编写一个存储过程,需要访问远程数据库的字段,于是建立一个dbLink并建了同义词:CREATE PUBLIC DATABASE LINK orcl@dbc CONNECT TO orcl IDENTIFIED BY orcl USING 'orcl';CREATE SYNONYM mtb FOR mytable@...

    前几天编写一个存储过程,需要访问远程数据库的字段,于是建立一个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为用户名

    然后就编译通过了。

    oracle 存储过程中调用存储过程

    create procedure sp_name() begin ……… end 比如: create procedure pro_showdbs() show datebase; end //用ex ...

    Oracle存储过程中异步调用的实际操作步骤

    本文标签:Oracle存储过程 我们都知道在Oracle数据库的实际应用的过程中,我们经常把相关的业务处理逻辑,放在Oracle存储过程中,客户端以通过ADO来进行相关的调用  .而有些相关的业务逻辑 ...

    Oracle数据库中调用Java类开发存储过程、函数的方法

    Oracle数据库中调用Java类开发存储过程.函数的方法 时间:2014年12月24日  浏览:5538次 oracle数据库的开发非常灵活,不仅支持最基本的SQL,而且还提供了独有的PL/SQL, ...

    (转载)oracle 在一个存储过程中调用另一个返回游标的存储过程

    原文链接:http://www.jb51.net/article/20160.htm 实际项目当中经常需要在一个存储过程中调用另一个存储过程返回的游标,本文列举了两种情况讲述具体的操作方法. 第一种情 ...

    oracle中存储过程中调用存储过程

    存储过程中调用存储过程 create or replace package body PF_Role_Pack is procedure sp_GetPage_Role(pageSize_ in nu ...

    Oracle存储过程中异常Exception的捕捉和处理

    Oracle存储过程中异常的捕捉和处理 CREATE OR REPLACE Procedure Proc_error_process ( v_IN in Varchar2, v_OUT Out Var ...

    java 实现往oracle存储过程中传递array数组类型的参数

    注:本文来源于 最近项目中遇到通过往存储过程传递数组参数的问题, 浪费了N多个小时,终于有点头绪. 具体的代码 ...

    oracle存储过程递归调用

    oracle存储过程递归调用,如果where子句使用的是传入的参数, 在以后的递归调用中参数就是第一次调用的参数值,解决办法是定义变量,使用自定义的变量问题可以解决.

    存储过程中调用webservice

    存储过程中调用webservice其实是在数据库中利用系统函数调用OLE. 1.查找webservice api 可得到MSSOAP.SoapClient. 2.查找API 接口可得到mssoapin ...

    随机推荐

    C# - 计时器Timer

    System.Timers.Timer 服务器计时器,允许指定在应用程序中引发事件的重复时间间隔. using System.Timers: // 在应用程序中生成定期事件 public class ...

    chrome地址栏搜索直接跳转百度首页?

    https://www.baidu.com/s?ie={inputEncoding}&wd=%s

    git 设置

    系统乱码 项目中的编码统一设置为UTF-8编码. 设置系统的语言设置为 zh_UTF-8,把 export LANG=zh_CN.UTF-8 保存到~/.profile文件里. $ env|grep ...

    使用SonarCloud对.NET Core项目进行静态代码分析

    本文将介绍如何使用SonarCloud进行.NET Core项目的静态代码分析.SonarCloud是SonarQube提供的基于云的版本,特别针对于开源项目是免费的. 首先,在sonarcloud. ...

    facebook api之Marketing API

    General information on the Marketing APIs, access, versioning and more. The main use cases for the M ...

    sublime添加到鼠标右键打开文件的方法?

    步骤: 1.win+R 打开运行,并输入regedit. 2.在左侧依次打开HKEY_CLASSES_ROOT\*\shell 3.在shell下新建“Sublime Text”项,在右侧窗口的“默认 ...

    unity5 创建material

    在material文件夹下 unity5中新创建的material默认如下 开始我不知道贴图应该加在哪儿.于是跳过教程上这一步,直接去选shader: 在这个shader下很明显看到加贴图的地方了: ...

    matlab GUI重新命名

    http://www.mathworks.com/matlabcentral/newsreader/view_thread/309789 To change the name you should o ...

    android主线程ActivityThread

    ActivityThread在Android中它就代表了Android的主线程,但是并不是一个Thread类. 源码如下: http://androidxref.com/6.0.0_r1/xref/f ...

    某考试 T2 bomb

    轰炸(bomb)[题目描述]有n座城市,城市之间建立了m条有向的地下通道.你需要发起若干轮轰炸,每轮可以轰炸任意多个城市.但每次轰炸的城市中,不能存在两个不同的城市i,j满足可以通过地道从城市i到达城 ...

    展开全文
  • * 第 2 行出现错误: ORA-06550: 第 2 行, 第 7 列: PLS-00201: 必须声明标识符 'EMP.ENAME' ORA-06550: 第 2 行, 第 7 列: PL/SQL: Item ignored ORA-06550: 第 3 行, 第 6 列: PLS-00201: 必须声明标识符 'EMP.SAL...

    SQL> declare

    2  pname emp.ename%type;

    3  psal emp.sal%type;

    4  begin

    5  select enmae,sal into pname,psal from emp where empno=7782;

    6  dbms_output.put_line(pname||'xsis'||psal);

    7  end;

    8  /

    pname emp.ename%type;

    *

    第 2 行出现错误:

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

    PLS-00201: 必须声明标识符 'EMP.ENAME'

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

    PL/SQL: Item ignored

    ORA-06550: 第 3 行, 第 6 列:

    PLS-00201: 必须声明标识符 'EMP.SAL'

    ORA-06550: 第 3 行, 第 6 列:

    PL/SQL: Item ignored

    ORA-06550: 第 5 行, 第 39 列:

    PL/SQL: ORA-00942: 表或视图不存在

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

    PL/SQL: SQL Statement ignored

    ORA-06550: 第 6 行, 第 22 列:

    PLS-00320: 此表达式的类型声明不完整或格式不正确

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

    PL/SQL: Statement ignored

    展开全文
  • 我正在尝试创建一个从服务请求一些XML数据的存储过程.我在网上找到了几个例子,所有这些例子都指向使用这个UTL_HTTP包.但是,每次我尝试编译我的存储过程时,我都会收到错误:PLS-00201: identifier 'UTL_...

    我正在尝试创建一个从服务请求一些

    XML数据的存储过程.我在网上找到了几个例子,所有这些例子都指向使用这个UTL_HTTP包.但是,每次我尝试编译我的存储过程时,我都会收到错误:

    PLS-00201: identifier 'UTL_HTTP' must be declared

    这是我想要使用的代码的基本框架.

    PROCEDURE GET_XML_DATA2 AS

    BEGIN

    DECLARE

    v_soap_request VARCHAR2(32767);

    v_soap_response VARCHAR2(32767);

    v_http_request UTL_HTTP.req; --Fails here

    v_http_response UTL_HTTP.resp; -- Fails here too

    v_action VARCHAR2(4000) := '';

    BEGIN

    null;

    END;

    END GET_XML_DATA2;

    它在指定的行中失败并且不编译.我正在使用Oracle Express Edition,我已经尝试授予我的用户对该软件包的执行权限.那没起效.

    我还能看到什么?还有什么可能导致这个?

    谢谢!

    展开全文
  • SSC_Page_Map_Insert( p_page_id IN B2BOWNER.SSC_Page_Map.Page_ID_NBR%TYPE, p_page_type IN B2BOWNER.SSC_Page_Map.Page_Type%TYPE, p_page_dcpn IN B2BOWNER.SSC_Page_Map.Page_Dcpn%TYPE) 我被通知我必须声明B2...

    我执行了一个创建下表的PL / SQL脚本

    TABLE_NAME VARCHAR2(30) := 'B2BOWNER.SSC_Page_Map';

    我使用参数为此表插入了一个函数

    CREATE OR REPLACE FUNCTION F_SSC_Page_Map_Insert(

    p_page_id IN B2BOWNER.SSC_Page_Map.Page_ID_NBR%TYPE,

    p_page_type IN B2BOWNER.SSC_Page_Map.Page_Type%TYPE,

    p_page_dcpn IN B2BOWNER.SSC_Page_Map.Page_Dcpn%TYPE)

    我被通知我必须声明B2BOWNER.SSC_Page_Map之前,它作为我的函数的参数.为什么我得到这个错误?

    编辑:实际错误

    Warning: compiled but with compilation errors

    Errors for FUNCTION F_SSC_PAGE_MAP_INSERT

    LINE/COL ERROR

    -------- -----------------------------------------------------------------

    2/48 PLS-00201: identifier 'SSC_PAGE_MAP.PAGE_ID_NBR' must be declared

    0/0 PL/SQL: Compilation unit analysis terminated

    编辑:完整的PL / SQL函数

    RETURN INTEGER

    IS

    TABLE_DOES_NOT_EXIST exception;

    PRAGMA EXCEPTION_INIT(TABLE_DOES_NOT_EXIST, -942); -- ORA-00942

    BEGIN

    INSERT INTO

    B2BOWNER.SSC_Page_Map VALUES(

    p_page_id,

    p_page_type,

    p_page_dcpn);

    RETURN 0;

    EXCEPTION

    WHEN TABLE_DOES_NOT_EXIST THEN

    RETURN -1;

    WHEN DUP_VAL_ON_INDEX THEN

    RETURN -2;

    WHEN INVALID_NUMBER THEN

    RETURN -3;

    WHEN OTHERS THEN

    RETURN -4;

    END;

    SHOW ERRORS PROCEDURE F_SSC_Page_Map_Insert;

    GRANT EXECUTE ON F_SSC_Page_Map_Insert TO B2B_USER_DBROLE;

    RETURN INTEGER

    编辑:我更改参数并收到与insert命令相关的新错误

    CREATE OR REPLACE FUNCTION F_SSC_Page_Map_Insert(

    p_page_id IN INTEGER,

    p_page_type IN VARCHAR2,

    p_page_dcpn IN VARCHAR2)

    RETURN INTEGER

    IS

    TABLE_DOES_NOT_EXIST exception;

    PRAGMA EXCEPTION_INIT(TABLE_DOES_NOT_EXIST, -942); -- ORA-00942

    BEGIN

    INSERT INTO

    B2BOWNER.SSC_Page_Map VALUES(

    p_page_id,

    p_page_type,

    p_page_dcpn);

    错误

    Errors for FUNCTION F_SSC_PAGE_MAP_INSERT

    LINE/COL ERROR

    -------- -----------------------------------------------------------------

    17/18 PL/SQL: ORA-00942: table or view does not exist

    16/5 PL/SQL: SQL Statement ignored

    这些表已经在正确的模式中以及正确的属性名称和类型进行了验证

    编辑:我执行了以下命令来检查我是否可以访问

    DECLARE

    count_this INTEGER;

    BEGIN

    select count(*) into count_this

    from all_tables

    where owner = 'B2BOWNER'

    and table_name = 'SSC_PAGE_MAP';

    DBMS_OUTPUT.PUT_LINE(count_this);

    END;

    我收到的输出是

    1

    PL/SQL procedure successfully completed.

    我可以访问表.

    编辑:

    所以我终于通过使用PL / SQL的架构在表中进行了插入,并且工作正常.看来我根本没有权力来创建功能,但这是一个假设.

    编辑:

    实际表DDL语句

    v_create := 'CREATE TABLE ' || TABLE_NAME || ' (

    PAGE_ID_NBR NUMERIC(10) NOT NULL Check(Page_ID_NBR > 0),

    PAGE_TYPE VARCHAR2(50) NOT NULL,

    PAGE_DCPN VARCHAR2(100) NOT NULL,

    PRIMARY KEY(Page_ID_NBR, Page_Type))';

    EXECUTE IMMEDIATE v_create;

    COMMIT WORK;

    COMMIT COMMENT 'Create Table';

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

    2020-12-20 11:16:43
    组成:DECLARE:声明部分BEGIN编写趁许的主题EXCEPTION捕获异常END ;/看一个简单的PL/SQL块DECLAREiNUMB...文章余二五2017-11-22892浏览量动态sql 和静态sql 下篇1、批量绑定让oracle 在对一组值进行sql操作时绑定一...
  • 本文主要向大家介绍了SQLServer数据库存储过程详解,通过具体的内容向大家展现,希望对大家学习SQLServer数据库有所帮助。将从下面几个方面介绍存储过程1.存储过程的概念2.存储过程的优缺点3.存储过程的分类4.利用t-...
  • 文章目录 第十八章 定义和使用存储过程概述定义存储过程使用DDL定义存储过程SQL到类名转换使用类定义方法存储过程使用类定义查询存储过程自定义Query使用存储过程存储方法权限List 存储过程 第十八章 定义和使用...
  • Mysql5存储过程教程

    2021-01-27 10:37:18
    [From] ...简单的来说是介绍了“存储过程、触发器、视图、信息架构视图”,我打算每天一部分,来连载这个教程.如果你想看一次看完PDF版本的教程,请到down.phpv.net下载.在此感谢译者陈朋奕...
  • Oracle存储过程

    2021-05-20 09:45:46
    一、存储过程的概念存储过程(stored procedure)是Oracle数据库中为了完成某功能的PL/SQL代码集,就像没有返回值的自定义函数。二、存储过程的创建、调用和权限1、创建存储过程create or replace procedure 存储过程...
  • DB2存储过程语法

    2021-03-07 18:39:05
    1. DB2存储过程示例:语法参数说明procedure-name: 存储过程的名字,在同一个数据库的同一模式下,不能存在存储过程名相同参数数目相同的存储过程,即使参数的类型不同也不行。(IN | OUT | INOUT parameter-name ...
  • 本文实例讲述了MySQL存储过程概念、原理与常见用法。分享给大家供大家参考,具体如下:1、存储过程的概念在一些语言中,如pascal,有一个概念叫“过程”procedure,和“函数”function,在php中,没有过程,只有函数...
  • Mysql 存储过程

    2021-02-08 09:13:31
    1、理解:把若干条 SQL 语句封装起来,起个名字,就叫过程把这个过程存储在数据库中,就叫存储过程2、存储过程的创建语法:create procedure procedureName()begin--sql 语句end$3、查看已有的存储过程:示例:show ...
  • 引言因标签过多,在实际的应用过程中,对标签表的结构进行了变更。从过去的标签随意选择,现在...存储过程存储过程(Stored Procedure)是一种在数据库中存储复杂程序,以便外部程序调用的一种数据库对象。存储过程...
  • mysql 的存储过程

    2021-02-01 22:02:58
    存储过程1: 什么是 存储过程带有逻辑的 sql的语句1: 之前的sql 没有条件判断 没有循环存储过程 带上流程控制语句 (if where)现在开始用有逻辑的 sql 语句 写2——1:存储过程特点1) 执行效率非常快 存储过程 是在...
  • 除非SQL函数声明为返回void,否则最后一条语句必须是SELECT 在简单情况下,返回最后一条查询结果的第一行。 如果最后一个查询不返回任何行,那么该函数将返回NULL值。 如果需要该函数返回最后一条SELECT语句的所有行...
  • 除非SQL函数声明为返回void,否则最后一条语句必须是SELECT在简单情况下,返回最后一条查询结果的第一行。如果最后一个查询不返回任何行,那么该函数将返回NULL值。如果需要该函数返回最后一条SELECT语句的所有行,...
  • 关键字:数据类型,存储类别说明符程序控制,类型限定类型转换异常处理内存管理相关类相关编译优化相关其他重点了解下,不知道的和相对重点的:class:template:wchar_t:mutable:dynastic_cast:static_cast:explicit:...
  • python call 存储过程

    2020-12-19 10:07:35
    文章 megachen 2018-06-08 778浏览量 python基本数据类型 基本数据类型 在python中变量不需要声明数据类型,但是每个变量使用前都必须先赋值,只有赋值后变量才会被创建。所以在python中变量就是变量没有类型,我们...
  • MySQL中提供存储过程存储函数机制,我们先将其统称为存储程序,一般的SQL语句需要先编译然后执行,存储程序是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,当用户通过指定存储程序的名字并给定参数...
  • 一、过程(PROCEDURE )过程是作为一个单独的程序编译到Oracle...过程结构如下:CREATE OR REPLACE PROCEDURE 过程名 (可选参数) IS声明部分BEGIN程序体EXCEPTION异常处理程序END 过程过程的命名应该用动词。因...
  • Mysql存储过程总结

    2021-03-03 20:26:08
    1.Sql存储过程概述在大型数据库系统中,存储过程和触发器具有很重要的作用。无论是存储过程还是触发器,都是SQL语句和流程控制语句的集合。就本质而言,触发器也是一种存储过程存储过程在运算时生成执行方式,所以...
  • sql存储过程总结

    2021-04-26 15:08:23
    1. Sql存储过程概述在大型数据库系统中,存储过程和触发器具有很重要的作用。无论是存储过程还是触发器,都是SQL 语句和流程控制语句的集合。就本质而言,触发器也是一种存储过程存储过程在运算时生成执行方式,...
  • 存储过程 定义 由过程化SQL 语句书写的一段程序,经编译和优化后,命名并存储在数据库服务器中,使用时只要调用即可。 是一组能完成特定功能的SQL语句集 优点 运行效率高 降低了客户机和服务器之间的通信量 调用...
  • 特点是执行速度快,提高系统性能,确保数据库安全等优点1,创建存储过程首先在创建存储过程中的时候需要用到分号,所以需要将结束标识符“;”更改为其他的符号,下面的语句用来更换结束标志符mysql>delimiter//...
  • oracle通过job调用存储过程.docx 这是本人第一次处理ORACLE的存储过程以及计划任务(JOB)的事情;期间遇到了很多问题在此将这次试用JOB调用自己的编写的存储过程过程中遇到的问题做一总结;任务实时采集系统会每5...
  • 存储过程和函数的操作

    千次阅读 2021-11-22 20:40:24
    除了上述要求外,推荐存储过程名命名(标识符)为procedure_xxx或者proce_xxx; procedure_parameter中每个参数的语法形式如下: [IN|OUT|INOUT] parameter_name type 在上述语句中,每个参数由3部分组成,分别为...
  •  创建存储过程存储过程是保存起来的可以接受和返回用户提供的参数的 Transact-SQL 语句的集合。可以创建一个过程供永久使用,或在一个会话中临时使用(局部临时过程),或在所有会话中临时使用(全局临时过程)。...
  • oracle 存储过程对于传参数是字符串标识符无效的解决办法  create or replace function f_get_add_month(Ls_jjxlbm Varchar2) return varchar2 is  Ls_pdcode varchar2(300);  ls_result varchar2(200);  ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 62,230
精华内容 24,892
关键字:

存储过程必须声明标识符