存储过程中必须声明标量变量的问题

存储过程代码如下createprocinsertPerson@p_namenvarchar(50)@sexnchar(10)@p_birthdatetime@p_mast... 存储过程代码如下

create proc insertPerson
@p_name nvarchar(50)
@sex nchar(10)
@p_birth datetime
@p_mastate nchar(10)
@nation nvarchar(50)
@politicalStatus nchar(10)
@p_ID nvarchar(50)
@p_phone nvarchar(50)
@p_tel nvarchar(50)
@p_email nvarchar(50)
@educationBg nvarchar(50)
@p_graducaterSch nvarchar(50)
@p_specialize nvarchar(50)
@p_addr nvarchar(50)
@department nvarchar(50)
@position nvarchar(50)
@employeeSort nvarchar(50)
@salarySort nchar(50)
@p_workTime datetime
@p_joinTime datetime
@picture nvarchar(max)
as
insert into t_person(p_name,p_birth,p_sexSn,p_maSn,p_nationSn,p_politicalStaSn,
p_ID,p_phone,p_tel,p_email,p_eduBgSn,p_graduaterSch,p_specialize,p_addr,p_deptSn,
p_positionSn,p_empSortSn,p_salarySortSn,p_workTime,p_joinTime,p_picture)
select
@p_name,@p_birth,(select p_sexSn from t_sex where sex=@sex),(select p_maSn from t_marrageSta
where p_mastate=@p_mastate),(select P_nationSn from p_nation where nation=@nation),
(select p_politicalStaSn from t_political where politicalStatus=@politicalStatus),
@p_ID,@p_phone,@p_tel,@p_email,(select p_eduBgSn from t_educationBg where educationBg=@educationBg),
@p_gtaduaterSch,@p_specialize,@p_addr,(select p_deptSn from t_departmentSort where department=@department),
(select p_positionSn from position where position=@position),(select p_empSortSn from t_empolyeeSort where
employeeSort=@empolyeeSort),(select p_salarySortSn from t_salarySort where salarySort=@salarySort),@p_workTime,
@p_joinTime,@picture;

一下是错误提示

消息 102,级别 15,状态 1,过程 insertPerson,第 3 行
'@sex' 附近有语法错误。
消息 137,级别 15,状态 2,过程 insertPerson,第 28 行
必须声明标量变量 "@p_name"。
消息 137,级别 15,状态 2,过程 insertPerson,第 28 行
必须声明标量变量 "@sex"。
消息 137,级别 15,状态 2,过程 insertPerson,第 29 行
必须声明标量变量 "@p_mastate"。
消息 137,级别 15,状态 2,过程 insertPerson,第 29 行
必须声明标量变量 "@nation"。
消息 137,级别 15,状态 2,过程 insertPerson,第 30 行
必须声明标量变量 "@politicalStatus"。
消息 137,级别 15,状态 2,过程 insertPerson,第 31 行
必须声明标量变量 "@educationBg"。
消息 137,级别 15,状态 2,过程 insertPerson,第 32 行
必须声明标量变量 "@department"。
消息 137,级别 15,状态 2,过程 insertPerson,第 33 行
必须声明标量变量 "@position"。
消息 137,级别 15,状态 2,过程 insertPerson,第 34 行
必须声明标量变量 "@empolyeeSort"。
消息 137,级别 15,状态 2,过程 insertPerson,第 34 行
必须声明标量变量 "@salarySorts"。

求解!!
展开
 我来答
百度网友d10a568c9
2011-02-20 · TA获得超过226个赞
知道小有建树答主
回答量:206
采纳率:0%
帮助的人:171万
展开全部
你的这些参数都有是传入的参数吗??是不是有些是传出参数没有加output啊??
传出的话好像是
create procedure 过程名
@p_name 字段类型 OUTPUT,
as
select
@p_name=对应字段名,@p_birth=对应字段名 from ....
本人菜鸟,只是个人理解
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式