我有一个存储过程事项标中添加纪录的,现在需要验证xd_username 是否已经存在,不存在才执行insert ,如何加判断????怎么返回错误信息呢?我用程序如何获取呢??谢谢!--<table comment>
--操作表名:xd_member
--表说明:
--方法说明:向表中添加一条记录
--</table comment>
CREATE PROCEDURE dbo.p_my_xd_memberAdd
(
@xd_accept_email bit,
@xd_password char(50),
@xd_email varchar(50),
@xd_username varchar(50),
@xd_passtip varchar(50),
@xd_passanswer varchar(50),
@ID int out
)
AS
BEGIN TRAN
INSERT INTO xd_member (
xd_accept_email,
xd_password,
xd_email,
xd_username,
xd_passtip,
xd_passanswer
)
VALUES (
@xd_accept_email,
@xd_password,
@xd_email,
@xd_username,
@xd_passtip,
@xd_passanswer
) SET @ID = @@IDENTITY
IF @@ERROR!=0
BEGIN
ROLLBACK TRAN
RAISERROR 20000 'p_my_xd_memberAdd: Cannot insert data into p_my_xd_memberAdd'
RETURN(1)
END
COMMIT TRAN
GO
--操作表名:xd_member
--表说明:
--方法说明:向表中添加一条记录
--</table comment>
CREATE PROCEDURE dbo.p_my_xd_memberAdd
(
@xd_accept_email bit,
@xd_password char(50),
@xd_email varchar(50),
@xd_username varchar(50),
@xd_passtip varchar(50),
@xd_passanswer varchar(50),
@ID int out
)
AS
BEGIN TRAN
INSERT INTO xd_member (
xd_accept_email,
xd_password,
xd_email,
xd_username,
xd_passtip,
xd_passanswer
)
VALUES (
@xd_accept_email,
@xd_password,
@xd_email,
@xd_username,
@xd_passtip,
@xd_passanswer
) SET @ID = @@IDENTITY
IF @@ERROR!=0
BEGIN
ROLLBACK TRAN
RAISERROR 20000 'p_my_xd_memberAdd: Cannot insert data into p_my_xd_memberAdd'
RETURN(1)
END
COMMIT TRAN
GO
解决方案 »
- 还是消费存储过程。刚才没发表清楚
- 触发器 当插入一条记录时更改其中一个值
- 声明一下我的数据库是access,因为那里没人做答,如何将日期转化成字符型,并且转化成'2009-09-02'的格式 ,而format()是'2009-9-2'的格式呀
- 遇到了个棘手的问题,得尽快解决,谁能帮忙呢
- 高分请教:如何将数据库还原到某个时间点?
- 求一简单SQL语句,谢谢
- 我安装是是SQL 2005 里面只有一个配置工具,怎么没有界面开发?
- 很郁闷的一个看似很难的SQL查询,各位给想想,谢放
- 模块划分的问题,把所有模块放到同一个数据库里好,还是一个模块分开一个数据库好?
- 1000w以上的数据sqlserver存储方案
- 多建几个一样的表,给数据库减轻负担的问题:我就这么多分了。
- 数据库与控件的冲突问题,不知如何解决,请教各位大哥,谢谢~~
-- 存在时的处理
else
insert ..... --不存在就插入记录