我要写一个存储过程:向玩具表中添加一条记录,这样一个表
create table toy 
(
toy_id varchar(10) primary key,
toy_name varchar(10),
toy_place varchar(10),
toy_price number(5),
toy_discount number(3)
);
要求玩具ID不能重名,单价不能为负数,折扣只不超过1,还要考虑逻辑错误并报错.

解决方案 »

  1.   

    CREATE OR REPLACE PACKAGE BODY "SMS"
       is
           --用于存储接收到的存储过程
                  procedure SAVE_RECV(  
               toy_id varchar(10) , 
               toy_name varchar(10), 
               toy_place varchar(10), 
               toy_price number(5), 
               toy_discount number(3) 
                                                          
                                           )
           is
               toyid varchar(10) , 
               toyname varchar(10), 
               toyplace varchar(10), 
               toyprice number(5), 
               toydiscount number(3) ,
               yid varchar(10)
           begin
           toyid :=toy_id;
           select toy_id  into yid from sys_program where toy_id =toyid;
           if yid = '' then
                      
                else
                      return;
                end if;
           下面差不多lz自己写吧
           if.......
    insert into toy  (....)
                       values
                       (....);
      

  2.   

    CREATE OR REPLACE PACKAGE BODY "SMS" 
      is 
          --用于存储接收到的存储过程 
                  procedure SAVE_RECV(  
              toy_id varchar(10) , 
              toy_name varchar(10), 
              toy_place varchar(10), 
              toy_price number(5), 
              toy_discount number(3) 
                                                          
                                          ) 
          is 
              toyid varchar(10) , 
              toyname varchar(10), 
              toyplace varchar(10), 
              toyprice number(5), 
              toydiscount number(3) , 
              yid varchar(10) 
          begin 
          toyid :=toy_id; 
          select toy_id  into yid from sys_program where toy_id =toyid; 
          if yid = '' then 
                      
                else 
                      return; 
                end if; 
          下面差不多lz自己写吧 
          if....... 
    insert into toy  (....) 
                      values 
                      (....);
      

  3.   

    你这种方法在oracle中是不行的,不过我自己还是解决了,结贴了。