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'で使用しているサブクエリがそれぞれ1つの値を返すことを確認してください。 – GSerg
SELECTクエリの1つでは、複数のレコードが返されます。 LIMIT/TOP 1の使用を検討してください。 –
1質問につき1つの質問。また、MySQLまたはMS SQL Serverを使用していますか?関与していない製品にはタグを付けないでください。 – jarlh