我有一个问题(以及两个问题其实)我的存储过程,我可以在这里做一个新人的错误,但我一直试图修复它和惨败INSERT。输入堆栈溢出的大师们救我:d的SQL Server 2008R2 - 从多个表
我想用一个存储过程(它下面的工作方式),以能够插入一个新的约会到我的约会表。问题是,我试图通过输入他们的名字来获得设计师和客户端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
任何意见或建议将是非常赞赏:)
编辑: 我注意到,当我注销并重新它移除了全名栏的问题 - 我也试试这个之前,但它没有工作,但很明显,现在它似乎并不虽然:(
谢谢你,完美的作品!我可以看到我现在要去的地方错了(当你知道嘿嘿时很容易)谢谢你把它弄得这么清楚:) – ChocolateSheep
@ChocolateSheep欢迎你! :) –