以下有个程序:
这是根据类型,返回一个号.例如:proc_gencontno("C",ABC),返回C0700001,等待incont 插入后,再次执行生成C0700002.结果每次都生成C0700001,怎么回事?create or replace procedure proc_gencontno
(conttype in char, ls_string out varchar2)
AS l_year varchar2(10);
li_count number(8) not null:=99999;
li number(8) not null:=1;
lj number(8) not null:=1;
l_serial Varchar2(6);
begin
l_year:=to_char(sysdate,'yy');
while li<=li_count loop
l_serial:=substr('00000'||to_char(li),2,5);
if conttype='C' then
ls_string:=conttype||l_year||l_serial;
select count(*) into lj from incont where icontno=ls_string;
end if;
if lj>=1 then
li:=li+1;
else
EXIT ;
end if ;
end loop;
end proc_gencontno;另外,C#怎么取出来 ?谢谢
这是根据类型,返回一个号.例如:proc_gencontno("C",ABC),返回C0700001,等待incont 插入后,再次执行生成C0700002.结果每次都生成C0700001,怎么回事?create or replace procedure proc_gencontno
(conttype in char, ls_string out varchar2)
AS l_year varchar2(10);
li_count number(8) not null:=99999;
li number(8) not null:=1;
lj number(8) not null:=1;
l_serial Varchar2(6);
begin
l_year:=to_char(sysdate,'yy');
while li<=li_count loop
l_serial:=substr('00000'||to_char(li),2,5);
if conttype='C' then
ls_string:=conttype||l_year||l_serial;
select count(*) into lj from incont where icontno=ls_string;
end if;
if lj>=1 then
li:=li+1;
else
EXIT ;
end if ;
end loop;
end proc_gencontno;另外,C#怎么取出来 ?谢谢
解决方案 »
- pl/sql中使用insert into select复制一个表,并且主键使用序列生成的值?
- 行转列,行合并,日期转星期问题
- 求一条复杂的SQL语句,谢谢!!
- create table 失败,查询不提示没有此表,但没有查询结果返回
- 关于连接两个不同字符集数据库的问题?
- 简单的数据导出导入问题,进来拿分吧!!!
- sos(求救)
- Oracle9i Report Server 如何安装和配置?
- 问一个odi的问题。。劳烦了解odi的大神解答
- Oracle10g db link 访问MySql数据库报错ORA-28545,有没有大神知道怎么解决啊!
- 急,请各位帮助!
- Oracle表导入Access 代码实现
你需要自己把变量保存下来,如放在一张表里。