您现在的位置: 易考吧(etest8.com)==>计算机==>Oracle认证==>考试介绍
更多: Oracle认证考试信息
oracle的存储过程介绍
http://www.etest8.com时间:2006-11-01】 【来源:易考吧】 【阅读次数
Create procedure procedue_name
    [@parameter data_type][output]
    [with]{recompile|encryption}
    as
    sql_statement 
    解释 output:表示此参数是可传回的.

         with {recompile|encryption}

         recompile:表示每次执行此存储过程时都重新编译一次

         encryption:所创建的存储过程的内容会被加密

表book的内容如下

   编号    书名                         价格

   001      C语言入门                   $30

   002      PowerBuilder报表开发  $52

    实例1:查询表Book的内容

create proc query_book
      as 
      select * from book
   go
exec query_book

  实例2:加入一笔记录到表book,并查询此表中所有书籍的总金额 

   Create proc insert_book

   @param1 char(10),@param2 varchar(20),@param3 money,@param4 money output

   with encryption  ---------加密

   as

   insert book(编号,书名,价格) Values(@param1,@param2,@param3)
   select @param4=sum(价格) from book
  go

    执行例子: 

  declare @total_price money 
  exec insert_book '003','Delphi 开发指南',$100,@total_price
  print '总金额为'+convert(varchar,@total_price)
  go


    实例3:设有两个表为Product,Order,其表内容如下:

      Product

 产品编号       产品名称    客户订数     
   001             钢笔         30         
   002             毛笔         50         
   003             铅笔         100        
  
      Order  
 产品编号         客户名     客户订金
  001              南山区      $30
  002              罗湖区      $50
  003              宝安区      $4

    请实现按编号为连接条件,将两个表连接成一个临时表,该表只含编号.产品名.客户名.订金.总金额,
总金额=订金*订数,临时表放在存储过程中

    代码如下:

     Create proc temp_sale
     as
       select a.产品编号,a.产品名称,b.客户名,b.客户订金,a.客户订数* b.客户订金 as总金额
       into #temptable from Product a inner join Order b on a.产品编号=b.产品编号
    if  @@error=0 
       print 'Good'
    else
       print 'Fail'
     go
考试分类
考试辅导
考试软件
 
精彩文摘
最让人快乐的九种职业
教育部:享受免费教育师范生至少到西部
周星弛泡妞经典对白
怎样喝水能排毒清宿便
教育部:中外合作办学专业不单独录取
歌名串烧:司法考试与爱情
男生必读:15句让女生爱你一生的情话
史上最强的8个恶心笑话
必看:社会新鲜人面试穿衣避开六大禁忌
免费了他们为啥还不愿读书