存储过程中必须声明标量变量的问题
存储过程代码如下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"。
求解!! 展开
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"。
求解!! 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询