常用

---取表名

select * from cat 或 select * from dba_table where tablespace_name='DREMIS'

--创建表
create table test(a int,b varchar(10))
---创建触发器
create or replace trigger testtrigger
after delete or insert or update on test
declare v_type test.a%type;
begin
   ---insert触发
  if inserting then
   v_type:='insert';
   ---update
  else if updateing then
    v_type:='update';
   else if deleteing then
    v_type:='delete';
   end if;
end

---创建触发器

 Create table foo(a number);
  Create trigger biud_foo
         Before insert or update or delete  On foo
  Begin
         If user not in (‘DONNY’) then
                Raise_application_error(-20001, ‘You don’t have access to modify this table.’);
         End if;
  End;

注释:
before和after:指在事件发生之前或之后激活触发器。
instead of:如果使用此子句,表示可以执行触发器代码来代替导致触发器调用的事件。
insert、delete和update:指定构成触发器事件的数据操纵类型,update还可以制定列的列表。
referencing:指定新行(即将更新)和旧行(更新前)的其他名称,默认为new和old。
table_or_view_name:指要创建触发器的表或视图的名称。
for each row:指定是否对受影响的每行都执行触发器,即行级触发器,如果不使用此子句,则为语句级触发器。
when:限制执行触发器的条件,该条件可以包括新旧数据值得检查。
declare---end:是一个标准的PL/SQL块。
---连接Oracle

cmd---  sqlplus 登录名/密码@主机名

 --查询所有表

select * From all_objects where object_type='TABLE'

--触发器

create or replace trigger botest_trigger
 before create on schema
declare i int;
 begin 
    SELECT count(*) into i FROM user_tables where table_name='lbl';
 if i>0 then
  insert into test_bo_lbl values(3,'测试');
 end if;
 end;

--- 存储过程

create procedure GetRecords
is    
begin     
  select NAME into name_out from test where AGE = age_in;     
end;     

--加密

wrap iname=source.sql oname=wrapsource.plb
---调试
dbms_output.put_line('b');
--- 创建表时触发
create or replace trigger botest_trigger
 after create on schema
declare i int;
 begin
    SELECT count(table_name) into i FROM user_tables where table_name=sys.dictionary_obj_name;
   if i>0 then
    begin
        insert into test_bo_lbl values(3,'测试');
    end;
   end if;
 end;
/
 
---带参数
declare strsql varchar2(20);
begin
strsql:='测试';
execute immediate 'insert into test_bo_lbl values(3,'||strsql||')';
EXECUTE IMMEDIATE 'CREATE TABLE WWWW as select object_name from '||strsql||' where 1=2';
END;
/
---修改表
--添加列
alter table sys_yw
add
(wttbr varchar2(50))
--删除列
alter table qq drop column TIME
--修改列
alter table xujin modify cloumn 列名字 列类型

删除包

drop package packname;

创建包

create or replace package testpack is
procedure ShowTest;
end testpack;
/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值