8146: Die %1!-Prozedur hat keine Parameter, aber Argumente wurden bereitgestellt.
Fehlermeldung:
Meldung 8146, Ebene 16, Status 2, Zeile 0
Die %1!-Prozedur hat keine Parameter, aber Argumente wurden bereitgestellt.
Ebene:
16.
Beschreibung:
Diese Fehlermeldung erscheint, wenn man versucht Parameter an eine Gespeicherte Prozedur zu übergeben, die von der Prozedur aber nicht erwartet werden..
Auswirkungen:
Das SQL Statement kann zwar geparst werden, jedoch zur Laufzeit wird der Fehler ausgelöst.
Behebung:
Fehler der Ebene 16 sind Fehler, die vom Anwender hervorgerufen werden. Sie können und müssen vom Anwender korrigiert werden. Das Statement kann so nicht ausgeführt werden. Es können nur die Parameter an eine Prozedur übergeben werden, die auch von der Prozedur erwartet werden.
Versionen:
Alle Version von SQL Server.
Beispiele:
USE tempdb;
GO
IF OBJECT_ID('t') > 0
DROP PROCEDURE dbo.t
GO
CREATE PROCEDURE dbo.t
AS
SET NOCOUNT ON
SELECT 1
RETURN 0
GO
EXEC dbo.t @i = 1, @j= 1
Anmerkungen:
Im obigen Beispiel wird versucht die Parameter @i und @j an die Prozedur t zu übergeben. Da diese aber nicht erwartet werden, wird der Fehler ausgelöst.