eclipse调用存储过程
自己定义了一个基于sqlserver数据库的订单系统,想调用一个存储过程,每次下单时间处理中,自动给出一个自增的订单号,但不知道在eclipse中怎写
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
-- 创建表SEQ_SERIAL_NO
create table SEQ_SERIAL_NO(
seqid int identity(1,1) primary key, -- ID列为自增列
seqval varchar(1) -- Sequence值
)
-- 创建从SEQ_SERIAL_NO表获取最新Sequence值的存储过程
create procedure SP_GetSeqVal
as
begin
-- 声明新Sequence值变量
declare @NewSeqValue int
-- 设置插入、删除操作后的条数显示取消
set NOCOUNT ON
-- 插入新值到SEQ_SERIAL_NO表
insert into SEQ_SERIAL_NO(seqval) values ('a')
-- 设置新Sequence值为插入到SeqT_0101001表的标识列内的最后一个标识值
set @NewSeqValue = scope_identity()
-- 如果组合的Sequence值<999999999(大于的话数值会溢出),如:“YYYY”+5位的Sequence值(201019988),可以采用下面的方式来SQLServer实现
-- set @NewSeqValue = Convert(char(4),Getdate(),112) + right('00000'+CAST(scope_identity() AS varchar(5)),5)
-- 这样直接Print @NewSeqVal 就可以得到类似“201019988”的Sequence值
-- 删除SeqT_0101001表(不显示被锁行)
delete from SEQ_SERIAL_NO WITH (READPAST)
-- 返回新Sequence值
return @NewSeqValue
end
-- 使用Sequence
Declare @NewSeqVal int
Exec @NewSeqVal = P_GetSeqVal
Print @NewSeqVal
Print Convert(char(8),Getdate(),112)