尝试在insert语句中包含select语句和用户输入

时间:2017-07-08 02:49:43

标签: sql sql-server

所以我尝试创建一个小规模的工资单系统作为实践,利用WPF作为接口并连接到SQL Server数据库。我正在设置存储过程,并且我正在尝试安排一个向数据库添加新的工作班次。它需要用户输入员工的名字和姓氏,然后插入新的班次,输入手动输入的详细信息,同时从tblEmployee表中插入员工ID,其中员工的名字和姓氏是与用户输入的名字和姓氏相同。问题是,它给了我最后一行的语法错误,我似乎无法弄清楚原因。

CREATE PROCEDURE NewShift(
@LName varchar(50),
@FName varchar(50),
@Date date,
@ShiftStart time,
@ShiftEnd time,
@HoursWorked decimal(18,2)
)
AS
BEGIN

INSERT INTO tblShifts(
EmpID,
Date,
ShiftStart,
ShiftEnd,
HoursWorked
)


SELECT EmpID, @Date, @ShiftStart, @ShiftEnd, @HoursWorked
FROM tblEmployee WHERE LName=@LName AND FName=@FName

1 个答案:

答案 0 :(得分:2)

split = sample.split(wikiWords$Vandal, SplitRatio = 2/3) wikitrain = subset(wikiWords, split == TRUE) wikitest = subset(wikiWords, split == FALSE) 是一个关键字,可能是保留的(取决于版本并由ODBC保留),因此对于列来说它是一个糟糕的名称:

DATE

当然,您还需要INSERT INTO tblShifts(EmpID, [Date], ShiftStart, ShiftEnd, HoursWorked) SELECT EmpID, @Date, @ShiftStart, @ShiftEnd, @HoursWorked FROM tblEmployee WHERE LName = @LName AND FName = @FName; 作为存储过程的结尾。