求帮写一个简单的,完整的存储过程,多谢
求帮写一个简单的,完整的存储过程,谢谢
用MS -SQL2000或2005,2008数据库
要输入三个字段信息,三个字段为:(1)VYWLX(值可以是02或03或04,05,06),(2)VHPZL(值可以为01或02),(3)VHPHM(值样子黑A12345)。
要查询的表名:sh_veh_jdc
要查询的条件:建立一个变量vywblzl
(1)如果VYWLX的值是02则vywblzl=1,如果VYWLX的值是03则vywblzl=2,04=3,05=4,06=5
(2)查找统计出表sh_veh_jdc中,字段clx=vywblzl,and HPZL=VHPZL, and HPHM=VHPHM ,and status不等于2的数据或个数来(可以定义一个变量如VCOUNT1)
(3)一个输出变量RES,如果查找统计出的VCOUNT1>=1则RES=1,如果VCOUNT1=0则RES=0,如果其它另的情况RES=2。 返回RES。
想要这么个存储过程,小弟初学不会,请好心人给个完整的代码
如果能再附加一个JAVA调用这个存储过程的完整代码就更好了,谢谢
持续关注中,必解贴,请大家多帮忙
------解决方案--------------------
马虎了 case 忘了end clx=@vywblzl 忘了@
------解决方案--------------------
用MS -SQL2000或2005,2008数据库
要输入三个字段信息,三个字段为:(1)VYWLX(值可以是02或03或04,05,06),(2)VHPZL(值可以为01或02),(3)VHPHM(值样子黑A12345)。
要查询的表名:sh_veh_jdc
要查询的条件:建立一个变量vywblzl
(1)如果VYWLX的值是02则vywblzl=1,如果VYWLX的值是03则vywblzl=2,04=3,05=4,06=5
(2)查找统计出表sh_veh_jdc中,字段clx=vywblzl,and HPZL=VHPZL, and HPHM=VHPHM ,and status不等于2的数据或个数来(可以定义一个变量如VCOUNT1)
(3)一个输出变量RES,如果查找统计出的VCOUNT1>=1则RES=1,如果VCOUNT1=0则RES=0,如果其它另的情况RES=2。 返回RES。
想要这么个存储过程,小弟初学不会,请好心人给个完整的代码
如果能再附加一个JAVA调用这个存储过程的完整代码就更好了,谢谢
持续关注中,必解贴,请大家多帮忙
存储
数据库
java
数据
------解决方案--------------------
IF EXISTS(SELECT * FROM sys.objects WHERE object_id = OBJECT_ID('TESTPROC') AND type = 'P')
DROP PROC TESTPROC
GO
CREATE PROC TESTPROC
@VYWLX NVARCHAR(10) ,
@VHPZL NVARCHAR(10) ,
@VHPHM NVARCHAR(30)
AS
BEGIN
DECLARE @vywblzl INT,
@VCOUNT1 INT,
@RES INT
SET @vywblzl= CASE @VYWLX WHEN '02' THEN 1
WHEN '03' THEN 2
WHEN '04' THEN 3
WHEN '05' THEN 4
WHEN '06' THEN 5
END;
SET @VCOUNT1=( SELECT COUNT(*)
FROM sh_veh_jdc
WHERE clx=@vywblzl
and HPZL=@VHPZL
and HPHM=@VHPHM
and [status]<>2)
IF @VCOUNT1>=1
SET @RES=1
ELSE IF @VCOUNT1=0
SET @RES=0
ELSE
SET @RES=2
SELECT @RES
END
马虎了 case 忘了end clx=@vywblzl 忘了@
------解决方案--------------------
--TRY
IF object_id('test') IS NOT NULL
DROP PROC test
GO
CREATE PROC test
(
@VYWLX VARCHAR(50),
@VHPZL VARCHAR(50),
@VHPHM VARCHAR(50),
@RES TINYINT OUTPUT
)
AS
DECLARE @vywblzl INT,@VCOUNT1 INT
SET @vywblzl= CASE @VYWLX WHEN '02' THEN 1
WHEN '03' THEN 2
WHEN '04' THEN 3
WHEN '05' THEN 4
WHEN '06' THEN 5 END
SELECT @VCOUNT1=COUNT(1) FROM sh_veh_jdc WHERE clx=@vywblzl and HPZL=@VHPZL and HPHM=@VHPHM and [status]<>2
IF @VCOUNT1>=1
SET @RES=1
ELSE IF @VCOUNT1=0
SET @RES=0
ELSE
SET @RES=2
go