|
--触发器
CREATE OR REPLACE TRIGGER GBJ.B_INSERT_TEST BEFORE INSERT OR UPDATE OF NCOLUMN ON GBJ.TEST_TABLE REFERENCING NEW AS NEW OLD AS OLD FOR EACH ROW BEGIN if :new.ncolumn=0 then raise_application_error(-20180,''''只能插入正数!''''); end if; END B_INSERT_TEST;
--存储过程
CREATE OR REPLACE procedure Proce_Insert IS
v_Num1 NUMBER :=3; v_Num2 NUMBER :=4; v_Str1 varchar2(30):=''''fasfasf''''; v_Str2 varchar2(30):=''''fasdfasdfaf''''; v_OutputStr varchar2(30);
begin insert into test_table(ncolumn,vcolumn)values(v_Num1,v_Str1); insert into test_table(ncolumn,vcolumn)values(v_Num2,v_Str2); commit; select vcolumn into v_OutputStr from test_table where ncolumn=v_Num1; dbms_output.put_line(v_OutputStr); select vcolumn into v_OutputStr from test_table where ncolumn=v_Num1; dbms_output.put_line(v_OutputStr); end Proce_Insert; /
--创建过程
SQL> set serveroutput on; --设置输出结果 declare
v_Num1 NUMBER :=3; v_Num2 NUMBER :=4; v_Str1 varchar2(30):=''''fasfasf''''; v_Str2 varchar2(30):=''''fasdfasdfaf''''; v_OutputStr varchar2(30);
begin insert into test_table(ncolumn,vcolumn)values(v_Num1,v_Str1); insert into test_table(ncolumn,vcolumn)values(v_Num2,v_Str2); commit; select vcolumn into v_OutputStr from test_table where ncolumn=v_Num1; dbms_output.put_line(v_OutputStr); select vcolumn into v_OutputStr from test_table where ncolumn=v_Num1; dbms_output.put_line(v_OutputStr); end ; /
--pl/sql 程序块
declare
v_ncolumn NUMBER :=6; v_vncolumn varchar2(30);
begin select vcolumn into v_vncolumn from test_table where ncolumn=v_ncolumn; dbms_output.put_line(''''The Message ''''''''s '''' ||v_vncolumn ); exception when NO_DATA_FOUND THEN dbms_output.put_line(''''ûÓÐÕÒµ½Æ¥ÅäµÄÊý¾Ý!''''); end ; /
--定义记录类型
type T_dzrecord is record ( v_vname varchar2(20); --姓氏字段 v_vcode varchar2(20); --代码字段 v_vsex number(2); --性别字段 );
--定义记录类型变量
v_dzinfo T_dzrecord;
--记录类型(在过程中的)使用
select v_vname,v_vcode, v_vsex into v_dzinfo from **_table; --方法1 select * into v_dzinfo from **_table; --方法2
--定义和字段类型相同变量的另一种方法
declare
variable_name table_name.column%TYPE;
--记录中应用type type T_dzrecord is record ( v_vname table_name.column%TYPE; --姓氏字段 v_vcode table_name.column%TYPE; --代码字段 v_vsex table_name.column%TYPE; --性别字段 );
--对于表中拥有多个数据列,定义记录变量时可以用下面的简单方法
declare
variable_name table_name%ROWTYPE;
--使用
variable_name.v_vsex:=1;
[办公软件]在sybase中插入图片、PDF、文本文件 [办公软件]安装Sybase ASE [办公软件]linux指令大全(完整篇) [办公软件]Linux新手入门常用命令大全 [办公软件]在RedHat Linux 9里安装gaim0.80 [办公软件]浅谈Linux 下Java 1.5 汉字方块问题解决方法 [办公软件]Linux程序员必读:中文化与GB18030标准 [办公软件]linux指令大全 [办公软件]制作Linux启动盘的四种方法 [办公软件]Linux文件系统的反删除方法
|