仅作为自己笔记用,如果正好别人也需要就更好了
--1.执行普通的代码 declare arg1 VARCHAR2(222) := 123; --定义对象赋值,oracle里面 := 代表赋值的意思 arg2 VARCHAR2(222) := 333; begin --假设arg1是输入,arg2是输出 用户.存储过程(arg1, arg2); --执行存储过程 dbms_output.put_line(arg1);--输出字符串 end; --2.查询前n行 select * from 表名 where rownum <= n --3.建表 create table 表名 ( id number not null, string varchar(20), string2 varchar(20) ); --4.给上面这张表添加注释 comment on column 表名.字段名 is '注释'; --5.给上面那张表创建索引 alter table 用户名.表名 add constraint 主键名 primary key (主键字段) --6.创建序列(主键自增用) create sequence 序列名 -- 建议使用表名+字段名+seq后缀 increment by 1 -- 每次加几个 start with 1 -- 从1开始计数 nomaxvalue --不设置最大值 nocycle -- 一直累加,不循环 nocache -- 不建缓冲区 --7.把上面的序列和表绑定(需要启用) create or replace trigger 触发器名字 before insert on 表名 for each row begin select 序列名.nextval into :new.主键名字 from dual; end 触发器名字; --8.给上面那张表创建索引,和sql server一样,如果没有建立组合索引,在where string = 'xxx' and string2 = 'xxx'的时候单个索引不起作用,且和where时候使用的字段顺序有关,如果 where string2 = 'xxx' and string = 'xxx'则下面这段索引就不起作用 create index 索引名字 on 表名 (string, string2); --9.创建存储过程 create or replace procedure pro_test(string1 in varchar2, string2 in varchar2)--pro_test为存储过程名 is temp varchar2(128);--temp为存储过程临时变量 begin insert into mytesttable (string, string2) values(string1, string2); commit;--切记commit一下(提交) select count(*) into temp from mytesttable;--存储过程里面查询必须要有个存放的地方不然会报语法错误 dbms_output.put_line('行数:'||temp);--orcale里面 || 代表拼接符号 exception when others then dbms_output.put_line('出错了:'||SQLERRM); rollback;--回滚 end; --10.执行带参数存储过程: exec 存储过程(参数1,参数2); --11.执行无参数存储过程: exec 存储过程名字();
原创文章,作者:bd101bd101,如若转载,请注明出处:https://blog.ytso.com/tech/database/275300.html