我第一次在这里创建存储过程,请放轻松。我试图SELECT
从表 1 ( EmpTBL
) 中获取我的数据,然后INSERT
将其放入表 2 ( EventTBL
)
我认为罪魁祸首是这里的这条线:
@Ename varchar(250) = NULL,
@Edate varchar(250) = NULL,
我认为我的逻辑是正确的,我只是不知道为什么它不起作用。
不知道下一步该怎么做。
ALTER PROCEDURE spBdayEmp
(@Ename varchar(250) = NUll,
@Edate varchar(250)= NUll,
@Etype varchar(250) = 'Bday')
AS
INSERT INTO EventTBL(EventName, EventDate, EventType)
VALUES (@Ename, @Edate, @Etype)
SELECT
@Ename = (Ename + ' ' + Lname),
@Edate = DATEADD(YY, DATEPART(YYYY, GETDATE()) - DATEPART(YYYY,dateOfBirth), dateOfBirth)
FROM
EmpTBL
WHERE
DATEADD( Year, DATEPART( Year, GETDATE()) - DATEPART( Year, DateOfBirth), DateOfBirth) BETWEEN CONVERT( DATE, GETDATE()) AND CONVERT( DATE, GETDATE() + 30);
我将如何获得价值?@Ename,@Edate?
我希望 SELECT 查询“Ename + ' ' + Lname”的结果等于“@Ename”和“DATEADD(YY, DATEPART(YYYY, GETDATE()) - DATEPART(YYYY,dateOfBirth), dateOfBirth)”等于“@Edate”?