Salve, come detto rieccomi qui con i soliti problemi, che grazie al Vostro aiuto oltre a risolverli, mi stanno dando un aiuto veramente importante per la creascita professionale in questo campo.
Ho delle tabelle che sono relazionate (leaverequest) con la tabella (Employee) uno ad uno.
La mia store deve inserire nella tabella leaverequest tutti gli elementi che non esistono nel parametro della store @IDuser
codice:
ALTER PROCEDURE [dbo].[spferieinsert]
(@idUser Int, @startDateIn varchar(14))
AS
BEGIN
SET NOCOUNT ON;
IF @startDateIn = ''
SET @startDateIn=CONVERT(varchar(4), Year(GetDate())) + '0101000000'
DECLARE @maxReachableLeaves Float
DECLARE @daysAvailable Int
DECLARE @lastDayDate DateTime
DECLARE @newRange Float
DECLARE @firstEmptyLeaveId Int
DECLARE @startDate DateTime
DECLARE @leavetype INT
DECLARE @esiste varchar
SET @leavetype=2
SET @startDate = dbo.StringToData(@startDateIn)
SELECT @maxReachableLeaves = leaMaxReachable
FROM dbo.leaveType
WHERE IDLeaveType=@leaveType --VALORE PER FERIE
SET @lastDayDate=dbo.StringToData(
CONVERT(varchar(4), Year(GetDate())) +
'1231000000' )
SET @newRange=DATEDIFF(day, @startDate, @lastDayDate)
SET @daysAvailable= @newRange*(@maxReachableLeaves/365.00) + 1
--SELECT daysAvailable=@daysAvailable
SELECT @firstEmptyLeaveId = ISNULL(MAX(Lea.IDLeaveRequest),0) + 1 FROM [dbo].[leaveRequest]Lea
INSERT INTO [BSPF_GLOB].[dbo].[leaveRequest]
SELECT @firstEmptyLeaveId,@idUser,@leaveType,@startDate,@lastDayDate,0,0.0,Lea.leaReason,Em.ADDRESS,
Em.MOBILE,0,@idUser,10,'Nuova Assunzione',GetDate(),@idUser,GetDate(),@idUser FROM leaveRequest Lea
INNER JOIN
EMPLOYEE Em ON Lea.IDUser = Em.ID
WHERE (SELECT COUNT(*) FROM leaveRequest WHERE Lea.IDUser = @IDUser)>0
Il problema è che non me lo inserisce(i campi sono perfettamente), anzi mi inserisce quello che c'è
Dove sbaglio?
Grazie ancora