CREATE PROCEDURE up_add_bbs_user
(@user_name varchar(20),@user_pass varchar(50),@user_question varchar(100),@user_answer varchar(100),@user_mail varchar(200),
@userbase_sex varchar(10),@userbase_birthday datetime,@userbase_locus varchar(200),@userbase_qq varchar(15),
@userbase_signature varchar(1000),@user_id int out)
ASINSERT INTO [bbs_users](user_name,user_pass,user_question,user_answer,user_mail)
VALUES(@user_name,@user_pass,@user_question,@user_answer,@user_mail)
SELECT @user_id = Max ([user_id]) FROM bbs_userINSERT INTO bbs_userbase (userbase_userid)VALUES(@user_id)
INSERT INTO bbs_userstate (userstate_userid)VALUES(@user_id)
INSERT INTO bbs_roleuser (roleuser_userid)VALUES(@user_id)
EXEC up_change_userbase @user_id,@userbase_sex,@userbase_birthday,@userbase_locus,@userbase_qq,@userbase_signature
UPDATE bbs_siteinfo SET siteinfo_usercount = siteinfo_usercount +1 ,siteinfo_newuserId =@user_id,siteinfo_newusername=@user_name
WHERE siteinfo_id = 1
GO
execute up_add_bbs_user @user_name="123",@user_pass="1",@user_question="喜欢谁",@user_answer="自己",@user_mail="[email protected]",
@userbase_sex="boy",@userbase_birthday="1986-6-6",@userbase_locus="浙江",@userbase_qq="174526675",@userbase_signature="总会成功"
服务器: 消息 201,级别 16,状态 4,过程 up_add_bbs_user,行 0
过程 'up_add_bbs_user' 需要参数 '@user_id',但未提供该参数。为什么会没有提供该参数呢
请大家帮帮忙啊 小弟在这里谢过了……
应该是这样的,不确定啊,呵呵。
delcare @id varchar2
exec ....@user_id = @id output
print .....
存储过程中定义参数为:
CREATE PROCEDURE up_add_bbs_user
(@user_name varchar(20),@user_pass varchar(50),@user_question varchar(100),@user_answer varchar(100),@user_mail varchar(200),
@userbase_sex varchar(10),@userbase_birthday datetime,@userbase_locus varchar(200),@userbase_qq varchar(15),
@userbase_signature varchar(1000),@user_id int output) 最后一个@user_id虽然是输出参数,但在调用该存储过程时,也应该指定该参数的值。
可以这样:
execute up_add_bbs_user @user_name= "123 ",@user_pass= "1 ",@user_question= "喜欢谁 ",@user_answer= "自己 ",@user_mail= "[email protected] ",
@userbase_sex= "boy ",@userbase_birthday= "1986-6-6 ",@userbase_locus= "浙江 ",@userbase_qq= "174526675 ",@userbase_signature= "总会成功 " ,0
在表里列名user_id的值是自动产生的
就是会出现 “过程 'up_add_bbs_user ' 需要参数 '@user_id ',但未提供该参数。”
delcare @id int
execute up_add_bbs_user @user_name= "123 ",@user_pass= "1 ",@user_question= "喜欢谁 ",@user_answer= "自己 ",@user_mail= "[email protected] ",
@userbase_sex= "boy ",@userbase_birthday= "1986-6-6 ",@userbase_locus= "浙江 ",@userbase_qq= "174526675 ",@userbase_signature= "总会成功 " ,@id