SET serveroutput ON;2 DECLARE3 CURSOR c_emp IS 4 SELECT * FROM emp WHERE deptno = 30;5 v_emp emp%rowtype; 6 BEGIN7 OPEN c_emp;8 loop9 fetch c_emp INTO v_emp;
10 exit WHEN c_emp%notfound;
11 dbms_output.put_line(v_emp.empno||‘ ‘||v_emp.ename||‘ ‘||v_emp.job||‘ ‘||v_emp.mgr||‘ ‘||v_emp.hiredate||‘ ‘||v_emp.sal||‘ ‘||v_emp.comm||‘ ‘||v_emp.deptno)...
ORACLE 提供可以把 PL/SQL 程序存储在数据库中,并可以在任何地方来运行它。这样就叫存储过程或函数。过程和函数统称为 PL/SQL 子程序,他们是被命名的 PL/SQL 块,均存储在数据库中,并通过输入、输出参数或输入/输出参数与其调用者交换信息。 过程和函数的唯一区别是函数总向调用者返回数据,而过程则不返回数据。
一、存储函数1.创建函数内嵌函数
CREATE [OR REPLACE] FUNCTION function_name
[ (argment [ { IN | IN OUT }] T...
Oracle configuration tools.DB_DEV =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 33.5.126.211)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = ORC)))EXTPROC_CONNECTION_DATA =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0)))(CONNECT_DATA =(SID = PLSExtProc)(PRESENTATION = RO)))4. 设置桌面快捷方式的属性, 加入如下参数, 就可以不需要再设置环境变量"C:\Program File...
安装完Oracle,PLSQL之后,在服务器中打开监听。 计算机右键—管理—服务和应用程序—服务—打开以Oracle开头的服务,特别是监听,这个最重要,具体如图所示。 (1)配置监听的位置 开始—所有程序—Oracle_OraDb11g_home1—配置和移植工具—Net Manager,具体如下图所以,在这个页面中不但可以配置监听也可以进行服务器地址的配置。选择监听程序,可以添加监听配置监听。这个比较常见也比较熟悉就不详细写了。(...
1.1 数据命名规则声明时可以把名字放在双引号之中,实际上可以跳过除最长30字符的所有限制,例如:declare"True_lower_case" INTEGER;" " DATE; --没错,四个空格也可以!“123_gogo” varchar2(10);beginend; 注意:代码中要引用这些名字也同样需要使用双引号。
1.2 数据类型1.2.1 布尔类型PL/SQL支持三值的布尔数据类型:TRUE,FALSE,NULL1.2.2 二进制数据类型Oracle支持几种形式的二进制数据,...
项目里存储过程中用到DBMS_OUTPUT.PUT_LINE进行输出日志,一开始不知道在哪里看,网上很多都是直接运行后的位置。但是储过程中的日志找了好一会,记录一下。
1、运行时输出位置。declarein_interval_start_id varchar2(40);in_interval_end_id varchar2(40);in_orglevelcode varchar2(40);in_agencyhierarchycodes varchar2(40);in_accountscope number;out_data sys_refcursor;beginin_interval_start_id:=1541662794967;in_int...
在这篇"PL/SQL重新编译包无反应"里面介绍了编译包无反应的情况,今天又遇到一起案例, 在测试环境中,一个包的STATUS为INVALID,重新编译时,一直处于编译状态,检查发现下面两条因素都不存在: 1:当包正在被调用执行时,编译该包会导致无响应情况。 2:包中的对象或依赖对象被其它session所拥有。 后面检查发现包中调用了一个LINKED SERVER,由于迁移测试服务器,原服务器的IP地址变化了,导致LINKED SERVER已经无效...
1.登录PL/SQL Developer
这里省略Oracle数据库和PL/SQL Developer的安装步骤,注意在安装PL/SQL Developer软件时,不要安装在Program Files (x86)目录下,不然无法启动PL/SQL Developer。
奇怪这里为什么选择不到数据库的TNS呢?我是先安装数据库,再安装PL/SQL Developer。按理说安装PL/SQL Developer时,就已经识别到了Oracle Home和OCI Libaray了。管它呢?先以非登录方式登录PL/SQL Developer,设置Oracle Home和OCI Libara...
在表的所有者不能改变的情况下,可以使用导入导出表结构和表数据的方法,将表移动到你想要的所有者下(注:特别是建立表的时候如果以sysdba的身份登录的话,所有表的所有者都为sys,此时会对你用c#访问数据库产生麻烦,我在我的另一篇文章中也提到《.NET连接Oracle数据库的错误,pl/sql中的myobjects过滤器 》),此时你只能用这种方法改变所有者。
导出表结构: Tools(工具)-->Export User Objects(导出用户对象) -->选择要导出...
1.判断表是否存在,如果存在则drop表
-- 2.创建表
-- 3.插入1W条数据
-- 4.每1K条commit一次
declarev_table varchar2(222):=‘STUDENT‘; --表名v_table_exists number:=0; --如果大于0,则表存在v_sql_create varchar2(2222); --create table sqlv_number number:=500000; --插入的数据v_id number:=0; --id字段v_age number:=100000; --age字段v_i number:=...
深蓝的blog:http://blog.csdn.net/huangyanlong/article/details/45746893
实验:
规划好实验用表库用户名用户表A库scottempB库hylempscott用户下进行比对验证,如下:选择要比对的表,如下图:添加目标用户连接,如下:开始比对,如下:比对完成后,通过比对结果形成修正sql语句,如下:在侧边栏还有几个小工具,如下图:可以通过建表语句查看出表结构的差异,如下图:我们下面向目标表执行“修正语句”,如下:再在scott用户下...
http://www.cnblogs.com/huyong/archive/2011/05/10/2041951.html#_Toc15837
SQL语言只是访问、操作数据库的语言,并不是一种具有流程控制的程序设计语言,而只有程序设计语言才能用于应用软件的开发。PL /SQL是一种高级数据库程序设计语言,该语言专门用于在各种环境下对ORACLE数据库进行访问。由于该语言集成于数据库服务器中,所以PL/SQL代码可以对数据进行快速高效的处理。除此之外,可以在ORACLE数据库的某些客户端工具中,...
SQL 窗口
declare
ret integer;
retmsg varchar2(200);
begin
proc_hotel_import(20,trunc(sysdate),ret,retmsg);
dbms_output.put_line(‘V_result1=’ || to_char(ret,‘999999’)); – 打印 V_result1 的结果
dbms_output.put_line(‘V_result2=’ || retmsg); – 打印 V_result2 的结果
end;
命令行
–定义输出参数
var ret number;
var retmsg varchar2;
exec proc_hotel_import(20,trunc(sysdate),:ret,:retmsg);
PL/SQL Developer使用技巧(部分)
关键字自动大写在sql命令窗口中输入SQL语句时,想要关键字自动大写,引人注目该怎么办呢?
一步设置就可以达成了。点击Tools->Preference->Editor,看到截图中这个Keyword case,一般默认是Unchanged,在下拉框中选择Uppercase即可。
设置自动替换这一快捷可谓是大杀器,是不是有时候看到别人只敲击了两三个按键,编译器中就出现一堆代码,很炫酷,而这一功能设置起来也不算难,就在上边的Key...
1.用系统管理员登陆,我这里用户名是system,密码是manager 2.首先建立表空间(tablespaces),点击file->new->sql windowcreate tablespace MOF_TEMP //name datafile ‘D:/Oracle/product/10.2.0/oradata/orcl/MOF_TEMP.dbf’ size 500M //—/oracle/oradata/orcl/portal01.dbf autoextend on next 100M maxsize unlimited logging //自动扩展表空间 extent management local autoallocate segment space management auto;DATAFILE...