我的存储过程有一个问题(实际上是两个问题),我可能在这里犯了一个新手错误,但我试图修复它并惨遭失败。输入堆栈溢出大师来拯救我:D
我希望能够使用存储过程(下面的工作原理)将新约会插入到我的约会表中。问题是我试图通过输入他们的名字来获取造型师和客户 ID(显然这些是在单独的表中,你可以看到我试图在代码片段中获取 ID 的位置...... ) 无论如何,我没有任何错误,但它实际上并没有做任何事情,因为当存储过程被测试时,没有任何东西被插入到约会表中(它执行得很好)。我不知道为什么会这样,我不知道从哪里开始寻找。
还有另一个可能相关的问题,那就是 c.fullName 和 s.fullName 经常用红线下划线,表示找不到它们。这两个列都存在于客户表和造型师表中;它们都是计算列(名字+姓氏)并且在其他查询中工作得很好,所以我不明白为什么它们在这里不起作用。
@AppDate date = null,
@AppTime time(5) = null,
@Details varchar(255) = null,
@ClientName varchar(50) = null,
@StylistName varchar(50) = null,
@ClientID int = null,
@StylistID int = null
INSERT into appointment(appDate, appTime, details, clientID, stylistID)
SELECT
@AppDate AS appDate,
@AppTime AS appTime,
@Details AS details,
@ClientID,
@StylistID
FROM appointment a
JOIN client c
ON c.clientID = a.clientID
JOIN stylist s
ON s.stylistID = a.stylistID
WHERE c.fullName = @ClientName
AND s.fullName = @StylistName
任何想法或提示将不胜感激:)
编辑:我刚刚注意到,当我注销并重新登录时,它删除了 fullName 列的问题 - 我之前确实尝试过,但它没有用,但显然现在它似乎不是问题......存储过程仍然没有插入任何东西:(