求帮写一个简单的,完整的存储过程,谢谢
用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 数据
[解决办法]
IFEXISTS(SELECT * FROM sys.objects WHERE object_id = OBJECT_ID('TESTPROC') AND type = 'P')
DROP PROC TESTPROC
GO
CREATE PROC TESTPROC
@VYWLXNVARCHAR(10),
@VHPZLNVARCHAR(10),
@VHPHMNVARCHAR(30)
AS
BEGIN
DECLARE @vywblzlINT,
@VCOUNT1INT,
@RESINT
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
--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