- 浏览: 62316 次
- 来自: 上海
最新评论
SQL> col object_name format a20; SQL> col object_type format a20; SQL> select object_name,object_type from user_objects 2 order by object_type asc; OBJECT_NAME OBJECT_TYPE -------------------- -------------------- TAX FUNCTION BIN$kHmZTqomReyTGf6x INDEX Gpa9GQ==$2 BIN$gtl8hEtDTwyJSJRw INDEX zqxFjQ==$0 BIN$lBwhR7ckQVmBoQJC INDEX jyJTxg==$2 AVGSALARYFORDEPT PROCEDURE OBJECT_NAME OBJECT_TYPE -------------------- -------------------- RAISEDSALARYBYEMPNOP PROCEDURE ROC ADD_DEPT_PROC PROCEDURE EMPCOPY TABLE TMP TABLE DEPT TABLE SALGRADE TABLE BONUS TABLE EMP TABLE EMP_VW VIEW 已选择14行。 SQL> set linesize 200; SQL> / OBJECT_NAME OBJECT_TYPE -------------------- -------------------- TAX FUNCTION BIN$kHmZTqomReyTGf6x INDEX Gpa9GQ==$2 BIN$gtl8hEtDTwyJSJRw INDEX zqxFjQ==$0 BIN$lBwhR7ckQVmBoQJC INDEX jyJTxg==$2 AVGSALARYFORDEPT PROCEDURE OBJECT_NAME OBJECT_TYPE -------------------- -------------------- RAISEDSALARYBYEMPNOP PROCEDURE ROC ADD_DEPT_PROC PROCEDURE EMPCOPY TABLE TMP TABLE DEPT TABLE SALGRADE TABLE BONUS TABLE EMP TABLE EMP_VW VIEW 已选择14行。 SQL> set pagesize 100; SQL> / OBJECT_NAME OBJECT_TYPE -------------------- -------------------- TAX FUNCTION BIN$kHmZTqomReyTGf6x INDEX Gpa9GQ==$2 BIN$gtl8hEtDTwyJSJRw INDEX zqxFjQ==$0 BIN$lBwhR7ckQVmBoQJC INDEX jyJTxg==$2 AVGSALARYFORDEPT PROCEDURE RAISEDSALARYBYEMPNOP PROCEDURE ROC ADD_DEPT_PROC PROCEDURE EMPCOPY TABLE TMP TABLE DEPT TABLE SALGRADE TABLE BONUS TABLE EMP TABLE EMP_VW VIEW 已选择14行。 SQL> create or replace package employee_pkg is 2 3 -- Author : ADMINISTRATOR 4 -- Created : 2010-6-17 上午 09:19:27 5 -- Purpose : This is a demo. 6 7 end employee_pkg; 8 / 程序包已创建。 SQL> create or replace package body employee_pkg is 2 3 4 end employee_pkg; 5 / 程序包体已创建。 SQL> select object_name,object_type from user_objects 2 order by object_type asc; OBJECT_NAME OBJECT_TYPE -------------------- -------------------- TAX FUNCTION BIN$gtl8hEtDTwyJSJRw INDEX zqxFjQ==$0 BIN$lBwhR7ckQVmBoQJC INDEX jyJTxg==$2 BIN$kHmZTqomReyTGf6x INDEX Gpa9GQ==$2 EMPLOYEE_PKG PACKAGE EMPLOYEE_PKG PACKAGE BODY RAISEDSALARYBYEMPNOP PROCEDURE ROC AVGSALARYFORDEPT PROCEDURE ADD_DEPT_PROC PROCEDURE EMPCOPY TABLE SALGRADE TABLE EMP TABLE BONUS TABLE TMP TABLE DEPT TABLE EMP_VW VIEW 已选择16行。 SQL> create or replace package employee_pkg is 2 3 -- Author : ADMINISTRATOR 4 -- Created : 2010-6-17 上午 09:19:27 5 -- Purpose : This is a demo. 6 7 procedure print_ename(p_empno emp.empno%type); 8 9 --编写一个函数,用户校验输入的用户编号是否有效 10 function isValiad(p_empno emp.empno%type) return boolean; 11 12 end employee_pkg; 13 / 程序包已创建。 SQL> create or replace package body employee_pkg is 2 3 procedure print_ename(p_empno emp.empno%type) 4 is 5 begin 6 null; 7 end print_ename; 8 9 --编写一个函数,用户校验输入的用户编号是否有效 10 function isValiad(p_empno emp.empno%type) return boolean 11 is 12 begin 13 14 return false; 15 16 end isValiad; 17 18 end employee_pkg; 19 / 程序包体已创建。 SQL> select object_name,object_type from user_objects 2 order by object_type asc; OBJECT_NAME OBJECT_TYPE -------------------- -------------------- TAX FUNCTION BIN$gtl8hEtDTwyJSJRw INDEX zqxFjQ==$0 BIN$lBwhR7ckQVmBoQJC INDEX jyJTxg==$2 BIN$kHmZTqomReyTGf6x INDEX Gpa9GQ==$2 EMPLOYEE_PKG PACKAGE EMPLOYEE_PKG PACKAGE BODY RAISEDSALARYBYEMPNOP PROCEDURE ROC AVGSALARYFORDEPT PROCEDURE ADD_DEPT_PROC PROCEDURE EMPCOPY TABLE SALGRADE TABLE EMP TABLE BONUS TABLE TMP TABLE DEPT TABLE EMP_VW VIEW 已选择16行。 SQL> show user; USER 为 "SCOTT" SQL> create or replace package body employee_pkg is 2 3 procedure print_ename(p_empno emp.empno%type) 4 is 5 v_ename varchar2(30); 6 begin 7 8 --调用函数校验编号是否有效 9 if(isValiad(p_empno)) then 10 11 12 select ename into v_ename 13 from emp 14 where empno=p_empno; 15 dbms_output.put_line(p_empno|| ' 号雇员的姓名为: '||v_ename); 16 else 17 dbms_output.put_line(p_empno||' 的雇员不存在...'); 18 end if; 19 20 end print_ename; 21 22 --编写一个函数,用户校验输入的用户编号是否有效 23 function isValiad(p_empno emp.empno%type) return boolean 24 is 25 v_count number:=-1; 26 begin 27 28 select count(empno) into v_count 29 from emp 30 where empno=p_empno; 31 if(v_count>0) then 32 return true; 33 elsif 34 return false; 35 end if; 36 37 end isValiad; 38 39 end employee_pkg; 40 / 警告: 创建的包体带有编译错误。 SQL> show errors; PACKAGE BODY EMPLOYEE_PKG 出现错误: LINE/COL ERROR -------- ----------------------------------------------------------------- 34/16 PLS-00103: 出现符号 "FALSE"在需要下列之一时: . ( * @ % & = - + < / > at in is mod remainder not rem then <an exponent (**)> <> or != or ~= >= <= <> and or like LIKE2_ LIKE4_ LIKEC_ between || multiset member SUBMULTISET_ 符号 "then" 被替换为 "FALSE" 后继续。 SQL> create or replace package body employee_pkg is 2 3 procedure print_ename(p_empno emp.empno%type) 4 is 5 v_ename varchar2(30); 6 begin 7 8 --调用函数校验编号是否有效 9 if(isValiad(p_empno)) then 10 11 12 select ename into v_ename 13 from emp 14 where empno=p_empno; 15 dbms_output.put_line(p_empno|| ' 号雇员的姓名为: '||v_ename); 16 else 17 dbms_output.put_line(p_empno||' 的雇员不存在...'); 18 end if; 19 20 end print_ename; 21 22 --编写一个函数,用户校验输入的用户编号是否有效 23 function isValiad(p_empno emp.empno%type) return boolean 24 is 25 v_count number:=-1; 26 begin 27 28 select count(empno) into v_count 29 from emp 30 where empno=p_empno; 31 if(v_count>0) then 32 return true; 33 else 34 return false; 35 end if; 36 37 end isValiad; 38 39 end employee_pkg; 40 / 程序包体已创建。 SQL> exec employee_pkg.print_ename(7782); PL/SQL 过程已成功完成。 SQL> set serveroutput on; SQL> exec employee_pkg.print_ename(7782); 7782 号雇员的姓名为: CLARK PL/SQL 过程已成功完成。 SQL> exec employee_pkg.print_ename(7781); 7781 的雇员不存在... PL/SQL 过程已成功完成。 SQL> create or replace package employee_pkg is 2 3 -- Author : ADMINISTRATOR 4 -- Created : 2010-6-17 上午 09:19:27 5 -- Purpose : This is a demo. 6 7 procedure print_ename(p_empno emp.empno%type); 8 9 --编写一个函数,用户校验输入的用户编号是否有效 10 function isValiad(p_empno emp.empno%type) return boolean; 11 12 --编写一个过程,按照给定的部门编号,输出雇员的一些基本信息:雇员编号,姓名,工种,工资等等 13 procedure displayEmpInfo(p_deptno emp.deptno%type); 14 15 end employee_pkg; 16 / 程序包已创建。 SQL> select * from emp where deptno=10; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ---------- ---------- --------- ---------- -------------- ---------- ---------- ---------- 7782 CLARK MANAGER 7839 09-6月 -81 2450 10 7839 KING PRESIDENT 17-11月-81 5000 10 7934 MILLER CLERK 7782 23-1月 -82 1300 10 SQL> create or replace package body employee_pkg is 2 3 procedure print_ename(p_empno emp.empno%type) 4 is 5 v_ename varchar2(30); 6 begin 7 8 --调用函数校验编号是否有效 9 if(isValiad(p_empno)) then 10 11 12 select ename into v_ename 13 from emp 14 where empno=p_empno; 15 dbms_output.put_line(p_empno|| ' 号雇员的姓名为: '||v_ename); 16 else 17 dbms_output.put_line(p_empno||' 的雇员不存在...'); 18 end if; 19 20 end print_ename; 21 22 --编写一个函数,用户校验输入的用户编号是否有效 23 function isValiad(p_empno emp.empno%type) return boolean 24 is 25 v_count number:=-1; 26 begin 27 28 select count(empno) into v_count 29 from emp 30 where empno=p_empno; 31 if(v_count>0) then 32 return true; 33 else 34 return false; 35 end if; 36 37 end isValiad; 38 39 --对包头中增加的内容作出具体实现 40 --由于按照部门编号查询,会产生多行的情况,所以需要使用 41 --PLSQL表,也叫做Index-by表处理结果。 42 procedure displayEmpInfo(p_deptno emp.deptno%type) 43 is 44 --定义PLSQL表,或者Index-by表 45 type emp_table_type is table of emp%rowtype 46 index by binary_integer; 47 --具体使用时,需要使用type声明变量 48 emp_table emp_table_type; 49 begin 50 select * bulk collect into emp_table /* bulk collect 表示批量处理*/ 51 from emp where deptno=p_deptno; 52 for i in 1.. emp_table.count loop 53 54 dbms_output.put_line('雇员编号:'||emp_table(i).empno||' 雇员姓名:'|| 55 emp_table(i).ename||' 雇员工种:'||emp_table(i).job||' 雇员工资:'|| 56 emp_table(i).sal); 57 58 end loop; 59 60 end displayEmpInfo; 61 62 63 64 end employee_pkg; 65 / 程序包体已创建。 SQL> exec employee_pkg.displayEmpInfo(10); 雇员编号:7782 雇员姓名:CLARK 雇员工种:MANAGER 雇员工资:2450 雇员编号:7839 雇员姓名:KING 雇员工种:PRESIDENT 雇员工资:5000 雇员编号:7934 雇员姓名:MILLER 雇员工种:CLERK 雇员工资:1300 PL/SQL 过程已成功完成。 SQL> exec employee_pkg.displayEmpInfo(20); 雇员编号:7369 雇员姓名:SMITH 雇员工种:CLERK 雇员工资:13176.9 雇员编号:7566 雇员姓名:JONES 雇员工种:MANAGER 雇员工资:9000 雇员编号:7788 雇员姓名:SCOTT 雇员工种:ANALYST 雇员工资:10890 雇员编号:7876 雇员姓名:ADAMS 雇员工种:CLERK 雇员工资:9000 雇员编号:7902 雇员姓名:FORD 雇员工种:ANALYST 雇员工资:9900 PL/SQL 过程已成功完成。
发表评论
文章已被作者锁定,不允许评论。
-
ORACLE日期时间处理
2013-01-25 17:56 1294--感觉ORACLE对日期的处理比MS较方便些 --修改会 ... -
AutoTrace执行结果说明
2013-01-25 14:11 836统计信息 --------------- ... -
QUESTIONS
2011-11-25 08:51 712问题一:获取SCOTT用户中EMP表里最早入职的前五名雇员? ... -
闪回数据库技术
2011-11-25 08:51 1193SQL> conn / as sysdba;已连接 ... -
触发器实例
2011-11-24 09:16 1096create or replace trigger u ... -
存储过程、函数简单应用
2011-11-24 09:16 1023create or replace procedure ... -
ORACLE体系结构
2011-11-24 09:15 860001、oracle体系结构: oracle产品和 ... -
游标简单操作
2011-11-25 08:50 1265--显示游标 处理检索多行数据 --whil ... -
数据泵导出导入(SCHEMAS)
2011-11-25 08:51 8596一、导出 1、 cmd-->C:\Docume ... -
PLSQL developer连接oracle
2011-11-25 08:50 1034装好ORACLE 10g后,安装plsql ... -
ORACLE安装前后
2011-11-24 09:17 870安装前:计算机名必须小于8位(不能以数字开 ... -
数据库事务
2011-11-22 11:24 935查看数据库默认隔离级别: 查看InnoDB系统级别 ... -
导入TXT文件与导出TXT
2011-11-28 10:05 1060导入.TXT文件与导出*. ... -
加载数据
2011-11-28 10:05 9031、使用LOAD DATA语句要比INSERT语句的加载 ... -
字符串连接
2011-11-28 10:05 853mysql> select 'abc'+'123' ... -
DELETE语法
2011-11-28 10:06 1651仅仅在 FROM 或 USING 子句之前列出的表中的匹 ... -
复制表
2011-11-22 11:24 798创建测试表test:mysql> create tabl ... -
定时执行存储过程
2011-11-18 22:46 1003存储过程学习:http://www.111 ... -
计算机localhost在网络上不存在
2011-11-22 11:22 1063计算机localhost在网络上不存在——数据库 ... -
EXPLAIN语法
2011-11-29 09:09 925EXPLAIN table == DESC table ...
相关推荐
在这个"socketTCP通信心跳包实例"中,我们主要探讨如何在Windows Forms(Winform)应用中使用Socket进行TCP通信,并通过心跳包来检测连接状态。 首先,TCP(Transmission Control Protocol)是一种面向连接的、可靠...
Wireshark抓包实例分析(DNS和HTTP协议)[整理].pdf
c语言文件读写操作代码c语言文件读写操作代码,包含实例及解释.rarc语言文件读写操作代码,包含实例及解释.rarc语言文件读写操作代码,包含实例及解释.rarc语言文件读写操作代码,包含实例及解释.rarc语言文件读写操作...
【标题】"neo 开发包 实例集"指的是一个针对C语言游戏开发的资源集合,它包含了一系列的实例代码和教程,旨在帮助开发者更好地理解和应用Neo开发工具。这个开发包可能是一个综合性的软件开发资源,提供了游戏编程所...
网络基本功(二十三):Wireshark抓包实例诊断TCP连接问题
带VLAN报文的抓包实例,修改配置抓VLAN报文特别麻烦,
-vlan-8021q-抓包实例,tcp抓包示范
透视sap增强,包含实例,内容详细,透视sap增强,包含实例,内容详细
matlab Simulink建模与仿真教程课件建模仿真实例详解,包含实例化分析讲解.pdf
java源码包J实例源码JAVA开发源码55个合集: Java中的Blowfish对称密钥加密算法类和实例.rar Java中的EJB编程实例代码.rar Java中的SSL及HTTPS协议实例源码.rar Java写的ATM机取款模拟程序.zip Java写的一个mp3播放器...
NB-IOT物联网协议CoAP版本V1中动作PUT抓包实例pcap格式
今天小编就为大家分享一篇Anaconda下安装mysql-python的包实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
(23条消息) tcpdump非常实用的抓包实例_nanyun2010的专栏-CSDN博客_tcpdump抓包.html
物联网NB-IOT, 应用层协议V1版本CoAP的动作GET抓包的实例pcap格式。
物联网NB-IOT, 应用层协议V1版本CoAP的动作DELETE抓包的实例pcap格式。
这是信息安全里面老师布置的一个作业,即winsock expert抓包的一个例子
用于载入R语言包的例子。 简单易懂
本书通过85个实例全面讲述了应用MFC进行Visual C++编程的思想。每个实例均以编写一个应用程序要走的步骤编写。全书共分四部分进行介绍,第一部分是基础知识,第二部分讲述用户界面的实例,第三部分讲述MFC内部处理...
中南大学数据库课后答案,包含书上的实例以及db文件,信息院使用教材
全书共分四部分进行介绍,第一部分是基础知识,第二部分讲述用户界面的实例,第三部分讲述MFC内部处理方面的实例,第四部分讲述打包实例。全书基本上面向实例进行阐述,讲解透彻、易于掌握。本书既可作为初学者和...