PDA

View Full Version : خطای "Only one expression can be specified in the select list when the subquery is not introduced wi



mehdi mahbobi
جمعه 26 اسفند 1390, 22:46 عصر
سلام دوستان من قصد ایجاد یک پروسجر را دارم که کدهای اونو در زیر آوردم میشه راهنمایی کنین چرا با این ارور مواجه میشم




create proc InsertStuff

@BareCode nvarchar(20),
@Type_S nvarchar(30),
@StuffCount int ,
@Mark nvarchar(20),
@CountBuy int ,
@Date_BuyFactor date,
@UnitPrice decimal(8, 0)

as
Set NOCOUNT on
---------------------------------------------------------------------------
If((Select * From Stuffs Where BareCode = @BareCode) = Null)
begin

insert into Stuffs(BareCode,Mark,Type_S) values (@BareCode,@Mark,@Type_S)
Declare @StuffID int
set @StuffID = SCOPE_IDENTITY()
insert into StuffDetalis(StuffID,CountInStore,CountBuy,CountSa le) values (@StuffID,@CountBuy,@CountBuy,0)
insert into Stuff_BuyFactors(Date_BuyFactor,StuffCount,UnitPri ce,TotalPrice) values (@Date_BuyFactor,@CountBuy ,@UnitPrice ,@UnitPrice*@CountBuy)
end
----------
else
begin
Update StuffDetalis set CountInStore = CountInStore + @CountBuy , CountBuy = CountBuy + @CountBuy
insert into Stuff_BuyFactors(Date_BuyFactor,StuffCount,UnitPri ce,TotalPrice) values (@Date_BuyFactor,@CountBuy ,@UnitPrice ,@UnitPrice*@CountBuy)
end
------------------------------------------------

Galawij
جمعه 26 اسفند 1390, 22:54 عصر
سلام،
خوب شرط IF مشکل داره. این طوری بنویسید(نمونه):
IF NOT EXISTS
(
SELECT 1
FROM Timesheet_Hours
WHERE Staff_Id = @PersonID
)

mehdi mahbobi
جمعه 26 اسفند 1390, 23:19 عصر
من if بصورت زیر تغییر دادم و مشکل حل شد در حقیقت با وجود subquery وابسته ، نباید بیشتر از یک ستون و در select قرار میدادم

If((Select StuffID From Stuffs Where BareCode = @BareCode) = Null)

ممنون از راهنماییتون.