大师,我是新手,想学习Oracle,用.net开发web程序,以往就是用下面这样写sql2000的存储过程,变成Oracle是不是这样呢,编译可以通过,感谢帮忙sql2000的:
CREATE      Proc  SystemCode_ADD
       @Codelb varchar(50) ,
       @LbName varchar(50) ,
       @CodeValue varchar(50) ,
       @CodeName varchar(50) 
AS
INSERT into  Systemcode  (Codelb,LbName,CodeValue,CodeName) 
   values(@Codelb,@LbName,@CodeValue,@CodeName)
GO变为Oracle的:
CREATE OR REPLACE  PROCEDURE "ADMIN"."SYSTEMCODE_ADD" (Codelb in 
    varchar2 ,
LbName in varchar2 ,
CodeValue in varchar2,
CodeName in varchar2)
AS
begin
INSERT into  Systemcode  (Codelb,LbName,CodeValue,CodeName) 
   values(Codelb,LbName,CodeValue,CodeName);
   commit;
   end;

解决方案 »

  1.   

    create or replace procedure bi_test
    is
    a integer;
    b integer;
    c integer;
    d date;
    e varchar2(30);
    f integer;
    g number(18,2);
    h integer;
    i integer;
    j integer;
    k integer;
    o integer;
    begin
    a :=1;
    b :=1;
    c :=to_char(sysdate,'yyyy');
    d :=sysdate;
    e :='01';
    f :=1;
    g :=1000.50;
    h :=10;
    i :=5;
    j :=7;
    k :=5;
    o :=3;insert into bi_d_infor_brand(counterid,c_counter_floor,n_status) values (b,e,f);
    insert into bi_d_infor_time(dayid,n_year,d_date) values (a,c,d);
    insert into bi_sale_brand_sum(dayid,counterid,n_sale_mon_m1,n_trade_num_m21,n_sale_num_m23,n_vip_num_m27,n_vip_trade_num_m28,n_vip_trade_salenum_m35) values (a,b,g,h,i,j,k,o);end bi_test;
      

  2.   

    这个写法是正确的啊
    CREATE OR REPLACE  PROCEDURE "ADMIN"."SYSTEMCODE_ADD" (  Codelb 
        varchar2 ,
           LbName varchar2 ,
           CodeValue varchar2 ,
           CodeName varchar2 )
    AS
    begin
    INSERT into  Systemcode  (Codelb,LbName,CodeValue,CodeName)
       values(Codelb,LbName,CodeValue,CodeName);
    end SystemCode_ADD;
      

  3.   

    或者CREATE OR REPLACE  PROCEDURE "ADMIN"."SYSTEMCODE_ADD" (  v_Codelb 
        varchar2 ,
           v_LbName varchar2 ,
           v_CodeValue varchar2 ,
           v_CodeName varchar2 )
    AS
    begin
    INSERT into  Systemcode  (Codelb,LbName,CodeValue,CodeName)
       values(v_Codelb,v_LbName,v_CodeValue,v_CodeName);
    end SystemCode_ADD;