create or replace procedure AppendNewBook(p_BarCode in varchar2,
p_BOOKNAME in varchar2,
p_PRICE in number,
p_BookID out VarChar2) is v_CNT Number(5);
v_bookID Dict_BookCard.BookID%Type ;
v_ISBN Dict_BookCard.Isbn%type;
v_BarCode Dict_BookCard.IsbnBarCode%type;
begin
/*如果书号、书名、定价一样就找出BOOKID直接返回*/
v_BarCode := trim(p_BarCode);
Select Count(BookID) Into v_CNT
from Dict_BookCard
where Isbnbarcode = p_BarCode
And BookName =p_BOOKNAME
And Price = p_PRICE;
if v_CNT > 0 then
Select Max(BookID) into p_BookID
from Dict_bookcard
where Isbnbarcode = p_BarCode
And BookName =p_BOOKNAME
And Price = p_PRICE;
return;
end if ;
if SubStr(p_BarCode,1,3) ='978' and Length(p_BarCode) = 13 then
v_ISBN := SubStr(p_BarCode,4,9);
else
v_ISBN := p_BarCode;
end if;
Select Count(BookID) Into v_CNT
from Dict_BookCard
where BookID Like v_ISBN||'%';
if v_CNT < 9 then
V_bookid := v_ISBN||'0'||to_Char(v_CNT+1);
else
V_bookid := v_ISBN||to_Char(v_CNT+1);
end if;
Insert Into Dict_BookCard(BookID,Isbnbarcode,Bookname,PRICE,CREATEDATE,SALEMODE,STORETYPE)
Values(V_bookid,p_BarCode,p_BOOKNAME,p_PRICE,sysdate,'寄销','图书');
p_BookID := v_BookID;
commit;
end AppendNewBook;过程我测试过了,可以正常生成id序列号
p_BOOKNAME in varchar2,
p_PRICE in number,
p_BookID out VarChar2) is v_CNT Number(5);
v_bookID Dict_BookCard.BookID%Type ;
v_ISBN Dict_BookCard.Isbn%type;
v_BarCode Dict_BookCard.IsbnBarCode%type;
begin
/*如果书号、书名、定价一样就找出BOOKID直接返回*/
v_BarCode := trim(p_BarCode);
Select Count(BookID) Into v_CNT
from Dict_BookCard
where Isbnbarcode = p_BarCode
And BookName =p_BOOKNAME
And Price = p_PRICE;
if v_CNT > 0 then
Select Max(BookID) into p_BookID
from Dict_bookcard
where Isbnbarcode = p_BarCode
And BookName =p_BOOKNAME
And Price = p_PRICE;
return;
end if ;
if SubStr(p_BarCode,1,3) ='978' and Length(p_BarCode) = 13 then
v_ISBN := SubStr(p_BarCode,4,9);
else
v_ISBN := p_BarCode;
end if;
Select Count(BookID) Into v_CNT
from Dict_BookCard
where BookID Like v_ISBN||'%';
if v_CNT < 9 then
V_bookid := v_ISBN||'0'||to_Char(v_CNT+1);
else
V_bookid := v_ISBN||to_Char(v_CNT+1);
end if;
Insert Into Dict_BookCard(BookID,Isbnbarcode,Bookname,PRICE,CREATEDATE,SALEMODE,STORETYPE)
Values(V_bookid,p_BarCode,p_BOOKNAME,p_PRICE,sysdate,'寄销','图书');
p_BookID := v_BookID;
commit;
end AppendNewBook;过程我测试过了,可以正常生成id序列号
解决方案 »
- 程序在其他机器上无法运行
- 求助 EventType : clr20r3
- DataGridView小问题,请个位帮忙~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 超时时间已到。在从池中获取连接之前超时时间已过。求解决方案?
- 请问有无讲解C#与Window API 使用的书籍或数据
- 我做的快照只能手动对它进行刷新,请问如何让它自动刷新
- 求助c#组件设计(新人)
- 安装部署问题(连接数据库的字符串在安装的时候由用户输入,动态的写到XML(xml为连接数据库的配置文件))
- 如何在对话框中动态生成一个textBox?
- 求c#开发的论坛,达人来帮忙哦.
- (着急啊!)C# 如何使得程序能够获得数据库的最新更新 winform得到最新数据?
- C#做winform应用,子窗口消耗了太多资源,请问关闭的时候怎么能够清理子窗口占的资源呢?
程序里面改成
ParameterDirection.ReturnValue