Martinha
Fleissiger Benutzer
- Beiträge
- 65
Hi,
machmal sieht man es einfach nicht...
Was ist hier syntaxmäßig falsch?
Ich möchte einfach nur einen Datensatz einfügen und den letzten Itentity-Wert zurückgeben:
ALTER PROCEDURE [dbo].[umsatz_add]
-- Add the parameters for the stored procedure here
@kontoid int
,@Betrag money
,@Buchungstext nvarchar(100)
,@UmsatzDatum date
,@umsatzart int
,@newflag bit
,@befreit bit
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
begin try
SET NOCOUNT ON;
-- Insert statements for procedure here
declare @new_identity int output
insert into [dbo].[umsatz] (kontoid
,betrag
,buchungstext
,umsatzdatum
,umsatzart
,newflag
,befreit)
values
(@kontoid
,@Betrag
,@Buchungstext
,@UmsatzDatum
,@umsatzart
,@befreit
,@newflag)
GO
SELECT @new_identity = SCOPE_IDENTITY()
SELECT @new_identity AS id
end try
begin catch
DECLARE @ErrorMessage NVARCHAR(MAX);
DECLARE @ErrorNumber INT;
DECLARE @ErrorSeverity INT;
DECLARE @ErrorState INT;
DECLARE @ErrorLine INT;
DECLARE @ErrorProcedure NVARCHAR(MAX);
DECLARE @ErrorDateTime DateTime;
SELECT
@ErrorMessage = ERROR_MESSAGE(),
@ErrorNumber = ERROR_NUMBER(),
@ErrorSeverity = ERROR_SEVERITY(),
@ErrorState = ERROR_STATE(),
@ErrorLine = ERROR_LINE(),
@ErrorProcedure = ERROR_PROCEDURE(),
@ErrorDateTime = GETDATE();
Insert into [dbo].[ErrorLog] (ErrorNumber, ErrorState, ErrorSeverity, ErrorLine, ErrorProcedure, ErrorMessage, ErrorDateTime)
Values (@ErrorNumber, @ErrorState, @ErrorSeverity, @ErrorLine, @ErrorProcedure, @ErrorMessage, @ErrorDateTime)
RAISERROR(@ErrorMessage, @ErrorSeverity, @ErrorState);
END CATCH;
END
Fehlermeldung:
Msg 102, Level 15, State 1, Procedure umsatz_add, Line 27 [Batch Start Line 7]
Falsche Syntax in der Nähe von "output".
Msg 102, Level 15, State 1, Procedure umsatz_add, Line 43 [Batch Start Line 7]
Falsche Syntax in der Nähe von ")".
Msg 137, Level 15, State 1, Line 53
Die @new_identity-Skalarvariable muss deklariert werden.
Msg 137, Level 15, State 2, Line 54
Die @new_identity-Skalarvariable muss deklariert werden.
Msg 102, Level 15, State 1, Line 79
Falsche Syntax in der Nähe von "CATCH".
machmal sieht man es einfach nicht...
Was ist hier syntaxmäßig falsch?
Ich möchte einfach nur einen Datensatz einfügen und den letzten Itentity-Wert zurückgeben:
ALTER PROCEDURE [dbo].[umsatz_add]
-- Add the parameters for the stored procedure here
@kontoid int
,@Betrag money
,@Buchungstext nvarchar(100)
,@UmsatzDatum date
,@umsatzart int
,@newflag bit
,@befreit bit
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
begin try
SET NOCOUNT ON;
-- Insert statements for procedure here
declare @new_identity int output
insert into [dbo].[umsatz] (kontoid
,betrag
,buchungstext
,umsatzdatum
,umsatzart
,newflag
,befreit)
values
(@kontoid
,@Betrag
,@Buchungstext
,@UmsatzDatum
,@umsatzart
,@befreit
,@newflag)
GO
SELECT @new_identity = SCOPE_IDENTITY()
SELECT @new_identity AS id
end try
begin catch
DECLARE @ErrorMessage NVARCHAR(MAX);
DECLARE @ErrorNumber INT;
DECLARE @ErrorSeverity INT;
DECLARE @ErrorState INT;
DECLARE @ErrorLine INT;
DECLARE @ErrorProcedure NVARCHAR(MAX);
DECLARE @ErrorDateTime DateTime;
SELECT
@ErrorMessage = ERROR_MESSAGE(),
@ErrorNumber = ERROR_NUMBER(),
@ErrorSeverity = ERROR_SEVERITY(),
@ErrorState = ERROR_STATE(),
@ErrorLine = ERROR_LINE(),
@ErrorProcedure = ERROR_PROCEDURE(),
@ErrorDateTime = GETDATE();
Insert into [dbo].[ErrorLog] (ErrorNumber, ErrorState, ErrorSeverity, ErrorLine, ErrorProcedure, ErrorMessage, ErrorDateTime)
Values (@ErrorNumber, @ErrorState, @ErrorSeverity, @ErrorLine, @ErrorProcedure, @ErrorMessage, @ErrorDateTime)
RAISERROR(@ErrorMessage, @ErrorSeverity, @ErrorState);
END CATCH;
END
Fehlermeldung:
Msg 102, Level 15, State 1, Procedure umsatz_add, Line 27 [Batch Start Line 7]
Falsche Syntax in der Nähe von "output".
Msg 102, Level 15, State 1, Procedure umsatz_add, Line 43 [Batch Start Line 7]
Falsche Syntax in der Nähe von ")".
Msg 137, Level 15, State 1, Line 53
Die @new_identity-Skalarvariable muss deklariert werden.
Msg 137, Level 15, State 2, Line 54
Die @new_identity-Skalarvariable muss deklariert werden.
Msg 102, Level 15, State 1, Line 79
Falsche Syntax in der Nähe von "CATCH".