`

在查询分析器显示储存过程的返回值

Go 
阅读更多
use OC
if exists( select name from sysobjects where name='proc_dailyRecord_GetSerialNo' and type='P')
drop procedure proc_dailyRecord_GetSerialNo
GO
create procedure proc_dailyRecord_GetSerialNo
@caseType varchar(5),
@caseResult varchar(15)
as
declare
@serialNo int,
@inputDate datetime,
@count int
select @count=count(*) from serial_number
if @count=0
begin
insert  into serial_number  (BM_JT_DATE,BM_JT) values (getdate(),0)
end
if @caseType='BM'
if @caseResult='Complete'
begin
select @serialNo = BM_CO, @inputDate = BM_CO_DATE from serial_number
if DATEDIFF(day,@inputDate,getdate())=0
begin
update serial_number set BM_CO=@serialNo+1,BM_CO_DATE=getdate()
return @serialNo+1
end
else
begin
update serial_number set BM_CO=1,BM_CO_DATE=getdate()
return 1
end
end
else if @caseResult='Joint Test'
begin
select @serialNo = BM_JT, @inputDate = BM_JT_DATE from serial_number
if DATEDIFF(day,@inputDate,getdate())=0
begin
update serial_number set BM_JT=@serialNo+1,BM_JT_DATE=getdate()
return @serialNo+1
end
else
begin
update serial_number set BM_JT=1,BM_JT_DATE=getdate()
return 1
end
end
else if @caseResult='Re-Date'
begin
select @serialNo = BM_RD, @inputDate = BM_RD_DATE from serial_number
if DATEDIFF(day,@inputDate,getdate())=0
begin
update serial_number set BM_RD=@serialNo+1,BM_RD_DATE=getdate()
return @serialNo+1
end
else
begin
update serial_number set BM_RD=1,BM_RD_DATE=getdate()
return 1
end
end
else if @caseResult='N/A'
begin
select @serialNo = BM_NA, @inputDate = BM_NA_DATE from serial_number
if DATEDIFF(day,@inputDate,getdate())=0
begin
update serial_number set BM_NA=@serialNo+1,BM_NA_DATE=getdate()
return @serialNo+1
end
else
begin
update serial_number set BM_NA=1,BM_NA_DATE=getdate()
return 1
end
end
else if @caseResult='Notebook Test,Customer Accept'
begin
select @serialNo = BM_NBA, @inputDate = BM_NBA_DATE from serial_number
if DATEDIFF(day,@inputDate,getdate())=0
begin
update serial_number set BM_NBA=@serialNo+1,BM_NBA_DATE=getdate()
return @serialNo+1
end
else
begin
update serial_number set BM_NBA=1,BM_NBA_DATE=getdate()
return 1
end
end
else if @caseResult='Notebook Test,Customer Not Accept'
begin
select @serialNo = BM_NBN, @inputDate = BM_NBN_DATE from serial_number
if DATEDIFF(day,@inputDate,getdate())=0
begin
update serial_number set BM_NBN=@serialNo+1,BM_NBN_DATE=getdate()
return @serialNo+1
end
else
begin
update serial_number set BM_NBN=1,BM_NBN_DATE=getdate()
return 1
end
end
else
if @caseResult='Complete'
begin
select @serialNo = VM_CO, @inputDate = VM_CO_DATE from serial_number
if DATEDIFF(day,@inputDate,getdate())=0
begin
update serial_number set VM_CO=@serialNo+1,VM_CO_DATE=getdate()
return @serialNo+1
end
else
begin
update serial_number set VM_CO=1,VM_CO_DATE=getdate()
return 1
end
end
else if @caseResult='Joint Test'
begin
select @serialNo = VM_JT, @inputDate = VM_JT_DATE from serial_number
if DATEDIFF(day,@inputDate,getdate())=0
begin
update serial_number set VM_JT=@serialNo+1,VM_JT_DATE=getdate()
return @serialNo+1
end
else
begin
update serial_number set VM_JT=1,VM_JT_DATE=getdate()
return 1
end
end
else if @caseResult='Re-Date'
begin
select @serialNo = VM_RD, @inputDate = VM_RD_DATE from serial_number
if DATEDIFF(day,@inputDate,getdate())=0
begin
update serial_number set VM_RD=@serialNo+1,VM_RD_DATE=getdate()
return @serialNo+1
end
else
begin
update serial_number set VM_RD=1,VM_RD_DATE=getdate()
return 1
end
end
else if @caseResult='N/A'
begin
select @serialNo = VM_NA, @inputDate = VM_NA_DATE from serial_number
if DATEDIFF(day,@inputDate,getdate())=0
begin
update serial_number set VM_NA=@serialNo+1,VM_NA_DATE=getdate()
return @serialNo+1
end
else
begin
update serial_number set VM_NA=1,VM_NA_DATE=getdate()
return 1
end
end
GO

在查询分析器显示该储存过程的返回值:
declare @result int
exec @result=proc_dailyRecord_GetSerialNo 'BM','Complete'
select @result
分享到:
评论

相关推荐

    SQL Server 存储过程与实例

    因为存储过程是预编译的,在首次运行一个存储过程时,查询优化器对其进行分析、优化,并给出最终被存在系统表中的存储计划。而批处理的T-SQL语句每次运行都需要预编译和优化,所以速度就要慢一些。 C、 存储过程...

    存储过程的安全及性能优化

    查询优化器是在分析完存储过程之后将生成的执行计划存储在存储过程高速缓冲存储器中,此后每次调用已经创建的存储过程时将直接执行不再需要编译,这样就可以提高程序的运行性能。 执行阶段:指执行驻留在存储过程...

    c-minus词法分析器

    赋值有通常的存储语义:找到由v a r表示的变量的地址,然后由赋值符右边的子表达式进行求值,子表达式的值存储到给定的地址。这个值也作为整个表达式的值返回。v a r是简单的(整型)变量或下标数组变量。负的下标将...

    sql试 题答案和试题

    4、在查询分析器中修改帐户时可以用系统存储过程Sp_modibaccess。( ) 5、每个存储过程向调用方返回一个整数返回代码。假如存储过程没有显式设置返回代码的值,则返回代码为 0,表示成功。 6、在 Transact-SQL ...

    PL/SQL Developer8.04官网程序_keygen_汉化

    可配置的树形浏览能够显示同PL/SQL开发相关的全部信息,使用该浏览器可以获取对象描述、浏览对象定义、创建测试脚本以便调试、使能或禁止触发器或约束条件、重新编译不合法对象、查询或编辑表格、浏览数据、在对象...

    PLSQLDeveloper下载

    对象浏览器——可配置的树形浏览能够显示同PL/SQL开发相关的全部信息,使用该浏览器可以获取对象描述、浏览对象定义、创建测试脚本以便调试、使能或禁止触发器或约束条件、重新编译不合法对象、查询或编辑表格、浏览...

    MSSQL安全设置的具体步骤和方法小结

    第一步肯定是打上SQL SERVER最新的安全补丁....单从ASP,PHP等页面构造恶意语句的话,还有需要查看返回值的问题,总比 不上直接查询分析器来得利落。所以我们首先要做到即使让别人注入了,也不能让

    函数、内存、一维数组、二维数组

     实体不在被使用,会在不确定的时间内被垃圾回收器回收 方法区,本地方法区,寄存器 数组操作常见问题  数组脚标越界异常(ArrayIndexOutOfBoundsException) int[] arr = new int[2]; System.out....

    《编译原理及实践》电子书下载

    4.5.2 在LL(1)分析程序中的错误校正 140 4.5.3 在TINY分析程序中的错误校正 141 练习 143 编程练习 146 注意与参考 148 第5章 自底向上的分析 150 5.1 自底向上分析概览 151 5.2 LR(0)项的有穷自动机与LR(0)分析 153...

    《编译原理》 清华 第二版

    4.5.2 在LL(1)分析程序中的错误校正 140 4.5.3 在TINY分析程序中的错误校正 141 练习 143 编程练习 146 注意与参考 148 第5章 自底向上的分析 150 5.1 自底向上分析概览 151 5.2 LR(0)项的有穷自动机与LR(0)分析 153...

    C#编译原理 ZIP 压缩文件

    4.5.2 在LL(1)分析程序中的错误校正 140 4.5.3 在TINY分析程序中的错误校正 141 练习 143 编程练习 146 注意与参考 148 第5章 自底向上的分析 150 5.1 自底向上分析概览 151 5.2 LR(0)项的有穷自动机与LR(0)分析 153...

    编译原理中文版

    4.5.2 在LL(1)分析程序中的错误校正 140 4.5.3 在TINY分析程序中的错误校正 141 练习 143 编程练习 146 注意与参考 148 第5章 自底向上的分析 150 5.1 自底向上分析概览 151 5.2 LR(0)项的有穷自动机与LR(0)分析 153...

    编译原理--龙书

    4.5.2 在LL(1)分析程序中的错误校正 140 4.5.3 在TINY分析程序中的错误校正 141 练习 143 编程练习 146 注意与参考 148 第5章 自底向上的分析 150 5.1 自底向上分析概览 151 5.2 LR(0)项的有穷自动机与LR(0)...

    编译原理(china-pub) 高清

    4.5.2 在LL(1)分析程序中的错误校正 140 4.5.3 在TINY分析程序中的错误校正 141 练习 143 编程练习 146 注意与参考 148 第5章 自底向上的分析 150 5.1 自底向上分析概览 151 5.2 LR(0)项的有穷自动机与LR(0)分析 153...

Global site tag (gtag.js) - Google Analytics