plsql参数】的更多相关文章

PL/SQL中对out,in out参数使用的? 默认形参会复制一份实参的副本,然后在内部传递,修改等,发生异常,不会赋值给实参,控制权交还调用环境,而实参值不变,还是调用前的值.而使用了NOCOPY后,形参将获得一个指向实参的指针,然后在内部传递,赋值都直接修改实参了,此时如果异常发生,控制权交还调用环境,但是实参已经被修改了.无法还原成调用前的值. 对参数I N使用NOCOPY将会产生编译错误,这是因为参数I N总是按引用传递. NOCOPY的主要优点是可以提高程序的效率.当我们传递大型PL…
declare inst_name varchar2(100); cursor mycur is select * from tran_forward t where t.instrument_type_id='3010'; query_row tran_forward%rowtype;begin open mycur; --打开游标 loop fetch mycur into query_row; --把游标所指的纪录放到变量中 select t.instrument_type_name in…
转自 http://jingyan.baidu.com/article/39810a23db44b5b636fda6f2.html 问题描述:   单引号明显不一样,替换不了 解决方案,如下图…
步骤: 1.安装64位Oracle 2.安装64位PLSql 3.将11.2.0.win32的压缩包解压,放在Oracle的安装目录:product下 4.配置PLSQL参数: Tools -> preferences...-> oracle home: Oracle的安装目录的product\11.2.0.win32 oci library :   Oracle的安装目录的product\11.2.0.win32\oci.dll 注:这个目录直接下拉,使用默认的会有问题,一般使用11.2.0…
转: PLSQL查询执行计划 01(转) 2019-05-15 15:15:43 p享自由q 阅读数 365   一般优化途径: 如果能通过修改语句优化,比如查询条件或执行顺序,sql改不了,可以通过增加索引来解决,增加索引还不行,那就要考虑实现方式是否有问题了 一段SQL代码写好以后,可以通过查看SQL的执行计划,初步预测该SQL在运行时的性能好坏,尤其是在发现某个SQL语句的效率较差时,我们可以通过查看执行计划,分析出该SQL代码的问题所在. 1. 打开熟悉的查看工具:PL/SQL Deve…
代码模块化, 即将一大块代码拆成若干小块(过程), 然后就可以在其他模块调用这些模块了, 这样, 重用性更好, 也方便管理. 过程: 过程是一个可以像执行 PL/SQL 语句一样调用的程序, 一个过程可以执行一个或多个动作. 我们可以通过参数列表向过程传递或者从过程传出信息. 函数: 函数是一个通过RETURN 语句返回数据的程序, 使用起来就像是一个 PL/SQL 表达式. 我们可以通过参数列表传入参数, 也可以通过参数列表传出参数, 不过通常情况下这么做并不好. 数据库触发器: 触发器是当数…
在plsql中,存储过程中的out模式的参数可以用来返回数据,相当于函数的返回值.下面是一个小例子. 沿用上一篇的emp表结构和数据. 存储过程如下: create or replace procedure out_test(v_user in emp.user_name%type, v_salary out emp.salary%type, v_deptno out emp.emp_deptno%type) as begin select salary, emp_deptno into v_s…
原文链接:https://www.cnblogs.com/zbj815/p/6854108.html 1.IN模式 IN模式是参数的默认模式,这种模式就是在程序运行的时候已经具有值,在程序体中值不会改变. 错误例子: 1 create or replace procedure in_proc ( 2 p_a in number , -- 形参, 这里的值是调用处传递的实参 3 p_b in number 4 )as 5 begin 6 p_a := 10 ; --实参被传递进来以后,在这个程序体…
代码片段一 create or replace procedure scott.pro_para_inout(p_dname in out scott.dept.dname%TYPE, p_loc out scott.dept.loc%TYPE) is begin dbms_output.put_line(p_dname || ',ING'); dbms_output.put_line(p_loc || ',ING' ); end pro_para_inout; 调用 DECLARE v_dep…
-- 带参数的游标 -- cursor c(no emp.deptno%type) is select * from emp where deptno=no; 参数的起名 不要和表中的列名相同! -- row1 emp%rowtype; -- 根据部门编号 得到emp中的所有信息? declare cursor c(no emp.deptno%type)is select * from emp where deptno=no; row1 emp%rowtype; begin open c (10…
/* 存储过程 一.oracel存储过程 1.没有返回值 return 值: 2.用输出参数来代替返回值: 3.输出参数可以有多个 二.参数的传递方式 1. 按位置传递 2. 按名字传递 3.混合传递 --按照位置传递,再按照名字传递 */ select * from emp; call re4(3,4); create or replace procedure re6 ( id1 in number, id2 in number, name1 in emp.ename%type, name2…
************************************************************************   ****原文:blog.csdn.net/clark_xu 徐长亮的专栏 ************************************************************************ 1.1 过程procedure 语法: create or replace procedure proc_name [(arg_n…
declare v_empno scott.emp.empno%type; v_sal scott.emp.sal%type; ) is select t.empno, t.sal from scott.emp t where t.empno = v_empno; begin ); loop fetch cur_emp into v_empno, v_sal; exit when cur_emp%notfound; dbms_output.put_line(v_empno || ' ' || v…
首先打开tnsnames.ora的存放目录,一般为D:\app\Administrator\product\11.2.0\client_1\network\admin,就看安装具体位置了. 步骤阅读 2 使用editplus或者记事本或其他工具打开tnsnames.ora,进行编辑 配置一下文件 CONN_shenyi2 = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 172.17.144.191)(PORT = 1521)) (CONNE…
PL/SQL Developer记住登陆密码    在使用PL/SQL Developer时,为了工作方便希望PL/SQL Developer记住登录Oracle的用户名和密码: 设置方法:PL/SQL Developer 7.1.4 ->tools->Preferences->Oracle->Logon History , "Store history"是默认勾选的,勾上"Store with password" 即可,重新登录在输入一次密…
1.安装客户的plsql,安装完成应该有PLSQL Developer和instantclient_11_2两个文件夹 2.打开plsql,取消登录直接进入主界面,通过 TOOLS->PREFERENCES->CONNECTION 设置ORACLE HOME,OCI LIBRARY两个参数 3.通过 帮助->支持信息 查看TNS File,新建此文件(一般是tnsnames.ora) 4.配置tnsnames.ora 内容如下 ORACLR_CONNECTION_DATA = (DESC…
通常企业开发时,数据库是不会在我们本地安装的(废话),所以使用plsql时,没必要的话,我们尽量不去安装oracle,太大了: 接下来说一下本人plsql,不安装oracle的使用步骤: 1.个人本地环境 OS:win10 未安装oracle 2.下载一个instantclient,记住要32位的,plsql不支持64位的 http://pan.baidu.com/s/1eSPy7C2 本人百度云盘的分享,可以直接下载 3.创建一个目录存放instantclient 可以本人的为例子:D:\or…
本文是转载的,目的是方便自已随时可以查看.转载地址:http://blog.itpub.net/24496241/viewspace-740917/ 目的:方便自已随时可以查看 1.格式化SQL语句在使用 PL/SQL Developer的SQL Window时,有时候输入的SQL语句太长或太乱,希望能用比较通用的写法格式话一下,这样看起来会好看些,也好分析:使用方法:选中需要格式化的SQL语句,然后点击工具栏的PL/SQL beautifier按钮即可.2.oralce精简客户端的使用(待测)…
--.plsql中学习job --学习job --建表 create table test_job(para_date date); commit; insert into test_job values(sysdate); commit; select * from test_job; --建立存贮过程 create or replace procedure test_jobproce as begin insert into test_job values(sysdate); end tes…
要连接Oracle往往需要安装上百兆的ORACLE客户端,显得十分麻烦.先就介绍如何通过使用精简客户端,且不需要安装的客户端,配合PLSQL连接oracle数据库.   其实这些操作都很简单,写在这里,就当是一个知识管理吧,以后忘记了怎么配置,就打开这篇博客.   首先下载安装包 在Oralce官方网站上下载Oracle Instantclient Basic package.地址如下:http://www.oracle.com/technetwork/database/features/ins…
*****************************************   PLSQL基本结构 ***************************************** 基本数据类型变量      1. 基本数据类型      Number 数字型       Int 整数型       Pls_integer 整数型,产生溢出时出现错误       Binary_integer 整数型,表示带符号的整数       Char 定长字符型,最大255个字符       Va…
PLSQL使用方法简单,平常使用较多,但在平常使用过程中,遇到一些问题,下面简单罗列并进行解决.这些解决方法大多通过网络查找获得,这里只是进行简单整理. 使用的数据库版本为:Oracle11g. 通用方法:表结构和数据分开导出导入,通用方法可以解决很多问题,对于下面的错误页可以通过这个方法进行解决. 方法说明:通过工具->导出用户对象 导出用户表结构,可以通过编辑方式对表结构进行编辑后在导入的时候选择导入表->SQL插入方式导入表结构.                表结构导入后可以采用dmp…
在有Oracle数据库C#项目中,有一个这样的需求:在界面上配置了带参数的PLSQL语句,但是要通过程序验证其正确性,那么该如何实现?这就是本文要探讨的内容. 一:通过OracleCommand对象的ExecuteNonQuery方法验证     这个方法要用到Oracle.ManagedDataAccess.dll,首先要将oracle客户端目录下的该文件拷贝的项目中并添加引用.可以在项目中新增一个验证SQL语句的公共类并using.(例如:ValidateSQL.cs) using Orac…
plsql的安装: 1. 安装plsql developer 2. 下载,解压instantclient到任意目录 3. 在instantclient解压目录下,新建NETWORK目录,在该目录下建ADMIN目录.然后在ADMIN目录下新建文件tnsnames.ora. 文件格式内容如下: # Generated by Oracle configuration tools. orcl= (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = T…
1.类SQL PLUS窗口:File->New->Command Window,这个类似于oracle的客户端工具sql plus,但比它好用多了. 2.设置关键字自动大写:Tools->Preferences->Editor,将Keyword case选择Uppercase.这样在窗口中输入sql语句时,关键字会自动大写,而其它都是小写.这样阅读代码比较容易,且保持良好得编码风格,同理,在Tools->Preferences->Code Assistant(助手)里可…
/** * plsql:某个项目对效率要求比较高的时候用,一般不用,大多数项目写的是夸数据库平台的,用不上. * pssql大多数能做的东西,java都能替代它.在某些特殊的地方要求用plsql的时候你才会用. * * 变量声明的规则: * 1.变量名不能使用保留字,如from.select等 * 2.第一个字符必须是字母 * 3.变量名最多包含30个字符 * 4.不要与数据库的表或者列同名 * 5.每一行只能声明一个变量 * * 常用变量类型 * 1. binary_integer:整数,主要…
plsql 登录后,提示数据库字符集(AL32UTF8)和客户端字符集(ZHS16GBK)不一致 (2014-07-25 18:40:34)转载▼ 标签: it 分类: Database Database character set (AL32UTF8) and Client character set (ZHS16GBK) are different. Character set conversion may cause unexpected results. Note: you can se…
最近公司做的几个项目,都是通过EBS与外部系统的Web Service进行数据的交互,而调用Web Service的时候,我们所传送的数据,都是按照约定的XML格式来传递,所以EBS接收到数据之后,需要解析该XML数据.以下为此次项目中通过PLSQL解析XML数据的例子. 假设约定的XML格式如下所示: 此处为子库转移的数据,从A子库把某个物料转移到B子库,而由于物料启用批次的关系,在转移的时候,可能存在多个批次,所以XML结构也就有了层次结构.PLSQL代码如下所示: DECLARE    l…
动态SQL 是指在执行时才构建 SQL 语句, 相对于静态 sql 的编译时就已经构建. 动态PLSQL 是指整个PL/SQL代码块都是动态构建, 然后再编译执行的. 作用: 1. 可以支持 DDL 语句, 静态 sql 只能支持 DML 语句. 2. 支持web 引用程序的查询意愿( 一个网络应用程序的常见需求是用户可以指定他们想看到的列, 以及改变数据的排序方式 ) 2. 可以将业务逻辑先放在表中, 然后再动态编译. NDS 是我们首选的动态解决方案. NDS 执行动态语句的办法就是 exe…
/* *====================================== basic sql ========================================== */ -- Merge -- merge into copy_emp as ac using employees e on (c.employee_id = employee_id) when matched then update set c.first_name = e.first_name c.las…