ORACLE的基本语法集锦

转载 2007年09月19日 09:42:00

ORACLE的基本语法集锦

 

-- 表
create table test (names varchar2(12),
                   dates date,
                   num   int,
                   dou   double);
-- 视图
create or replace view vi_test as
select * from test;

-- 同义词
create or replace synonym aa
for dbusrcard001.aa;

-- 存储过程
create or replace produce dd(v_id in employee.empoy_id%type)
as
begin
  
end
dd;

-- 函数
create or replace function ee(v_id in employee%rowtype) return varchar(15)
is
var_test varchar2(15);
begin
  return var_test;
exception when others then
  
end

-- 三种触发器的定义
create or replace trigger ff
alter delete
on test
for each row
declare
begin
   delete from test;
   if sql%rowcount < 0 or sql%rowcount is null then
      rais_replaction_err(-20004,"错误")
   end if
end


create or replace trigger gg
alter insert
on test
for each row
declare
begin
   if :old.names = :new.names then
      raise_replaction_err(-2003,"编码重复");
   end if
end


create or replace trigger hh
for update
on test
for each row
declare
begin
  if updating then
     if :old.names <> :new.names then
 reaise_replaction_err(-2002,"关键字不能修改")
     end if
  end if
end

-- 定义游标
declare
   cursor aa is
      select names,num from test;
begin
   for bb in aa
   loop
        if bb.names = "ORACLE" then
       
        end if
   end loop;
  
end

-- 速度优化,前一语句不后一语句的速度快几十倍
select names,dates
from test,b
where test.names = b.names(+) and
      b.names is null and
      b.dates > date('2003-01-01','yyyy-mm-dd')

 
select names,dates
from test
where names not in ( select names
                       from b
                      where dates > to_date('2003-01-01','yyyy-mm-dd'))
                      

-- 查找重复记录
select names,num
from test
where rowid != (select max(rowid)
                 from test b
                where b.names = test.names and
                      b.num = test.num)


-- 查找表TEST中时间最新的前10条记录
select * from (select * from test order by dates desc) where rownum < 11

-- 序列号的产生
create sequence row_id
minvalue 1
maxvalue 9999999999999999999999
start with 1
increment by 1

insert into test values(row_id.nextval,....)  

ORACLE的基本语法集锦

  • 2008年11月17日 16:57
  • 2KB
  • 下载

Oracle_过程_方法_基本语法

  • 2014年06月26日 10:55
  • 4KB
  • 下载

MySQL与Oracle 差异比较之基本语法

基本语法 编号 类别 ORACLE MYSQL 注释 1 变量的声明方式不同 li_index NUMBER := 0 D...
  • ajmdbcm
  • ajmdbcm
  • 2015年07月01日 09:56
  • 174

超全面的oracle基本语法.

  • 2013年05月17日 10:41
  • 6KB
  • 下载

Oracle存储过程基本语法

存储过程   1  CREATE OR REPLACE PROCEDURE 存储过程名   2  IS   3  BEGIN   4  NULL;   5  END;   行1:   ...

Oracle基本语法.pdf

  • 2011年05月05日 09:51
  • 286KB
  • 下载

Oracle所有约束基本语法

  • 2012年07月18日 16:29
  • 25KB
  • 下载

Oracle基本语法之DDL(一)

数据类型字符型:CHAR(n):n最大值为2000,固定长度,自动补空格 NCHAR(n):n最大值为1000,,n是长度 VARCHAR2(n):可变长度的,相对于CHAR(n)比较节省空间,n...
  • shaoduo
  • shaoduo
  • 2017年04月02日 09:20
  • 392

Oracle_存储过程的基本语法

  • 2011年12月09日 12:37
  • 32KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ORACLE的基本语法集锦
举报原因:
原因补充:

(最多只允许输入30个字)