Iam嘗試這個查詢,我得到以下錯誤。我還收到一個錯誤,說主鍵約束PK_ITEMPATH已被違反。我應該怎麼做序來糾正這個錯誤的查詢將無法成功運行當子查詢遵循=,!=,<, <= , >,> =或當子查詢用作表達式時,這是不允許的。超過1個值被返回。
USE Sk_EN_UserDB
GO
SET NOEXEC OFF
GO
IF(DB_NAME() NOT LIKE '%_UserDB')
BEGIN
RAISERROR ('You must run this script in UserDB database',18,0)
SET NOEXEC ON
END
GO
IF(NOT EXISTS(SELECT * FROM UserRights.Path WHERE PathID = 'Myviews'))
BEGIN
insert into UserRights.Path(PathID, IsVendorSpecific)
values('Myviews', 0)
END
IF(NOT EXISTS(SELECT * FROM UserRights.Products WHERE ProjectName = 'Products'))
BEGIN
insert into UserRights.Products(ProductID, ProjectName)
values(
(select MAX(ProductID) + 1 from [UserRights].Products),
'Products'
)
END
insert into UserRights.ProductsToPath(ProductID, PathID)
values(
(select ProductID
from [UserRights].Products
where ProjectName = 'Products'),
'Myviews'
)
insert into UserRights.ModulesToProducts(ModuleID, ProductID)
values(
(select ModuleID
from [UserRights].[Modules]
where DisplayName = 'Products Product' or HierarchyName like '%Products Product%'),
(select ProductID
from [UserRights].Products
where ProjectName = 'Products')
)
'我該怎麼做' - 確保你在'values'中使用的子查詢每個返回一個值。 – GSerg
您的一個SELECT查詢返回多條記錄。考慮使用LIMIT/TOP 1. –
每個問題有一個問題。另外,你使用的是MySQL還是MS SQL Server?不要標記不涉及的產品。 – jarlh