一.思路:首先输出需要变量接收,需要声明变量,于是考虑什么变量类型比较合适,在这我用的是table类型,最后,查询出来,循环输出即可. 二.具体实现 -- 编写一个PL/SQL块,输出所有员工的员工姓名.员工号.工资和部门号 declare -- 声明table类型的对象,属性 员工姓名:ename,员工号:empno,工资:sal ,部门:deptno type emp_table_type is table of emp%rowtype index by binary_integer; --
/* 写一个简单的PL/SQL */ declare a ; b ; c number; begin c:=(a+b)/(a-b); dbms_output.put_line(c); exception when zero_divide then dbms_output.put_line('除数不许为零'); end; 这里需要注意:字符串用单引号,不是双引号
SELECT dbo.fn_Data(getdate(),'yyyymmdd') CREATE FUNCTION [dbo].[fn_Data] (@date as datetime, @formatstring as varchar(100) ) RETURNS varchar(100) AS BEGIN declare @datestring as varchar(100) set @datestring=@formatstring --year set @datestring=replac
n 介绍 块(block)是pl/sql的基本成型单元,编写pl/sql程序实际上就是编写pl/sql块.要完成相对简单的应用功能,可能只需要编写一个pl/sql块:但是如果要想实现复杂的功能,可能需要在一个pl/sql块中嵌套其它的pl/sql块.. n 块结构示意图 pl/sql块由三个部分构成:定义部分.执行部分.例外处理部分,如下所示: n 案例1--只包括执行部分的pl/sql块. 案例:输出hello,world ☞相关说明: dbms_output是oracle所
在编写PL/SQL时,有时候我们需要处理这样一个输入的变量,它的格式是由多个值通过分隔符组成的字符串,如“1,2,3”,我们需要将这个变量加入到我们的SQL中,形成诸如in('1','2','3')的条件. 下面的SQL可以把一个字符串分割成一个临时表,然后用于in条件: SELECT * FROM TEST_TABLE WHERE ID in( SELECT REGEXP_SUBSTR ('1,2,3', '[^,]+', 1,rownum) val FROM DUAL CONNECT BY