在SQL里是这样的。如果写在oracle里该怎么写呢?Create PROC backtable @SN varchar(20)As
select count(*)
from Customization
where SN=@SN
GO

解决方案 »

  1.   

    create table Customization(SN varchar2(20));
    /
    create or replace package pkg_test
    is
    type ResultData is ref cursor;--定义动态游标
    procedure test( rst out ResultData );
    end pkg_test;
    /
    create or replace package body pkg_test
    is
    procedure test( rst out ResultData )
    is
    begin
    open rst for
    select count(*)
    from Customization
    where SN=ASN;
    --返回select * from t所查询的结果集
    end;
    end pkg_test;
    /
      

  2.   

    謝謝“失蹤的月亮”,用在oracle裡看起來好複雜哦,小妹剛接觸oracle,看了你的回復,有點似懂非懂。最簡單就是這樣的嗎?可否再簡化一點啊?
      

  3.   

    oracle中返回结果集就是这样,需要定义动态游标,这是最简单的写法了
      

  4.   

    Create or replace procedure  backtable (
     v_SN varchar
     v_Cnt out number 
    )Asbegin  select v_Cnt = count(*)
     from Customization
     where SN= v_SN;end backtable ;
      

  5.   

    而且2楼的procedure有个错误:声明形参的长度和精度都是非法的~