Hallo ich habe ein Problem mit einer Gespeicherten Prozedur.
Es sind Zwei Prozeduren, die eine holt Werte aus einer Tabelle und ruft die andere Prozedru und übergibt die geholten Werte an diese als Parameter.
In der zweiten prozedur liegt der Fehler ich übergebe den Paramater @sm_wert an die where klause und möchte so bestimmte datensätze rausfiltern, doch es kommt immer der Fehler Ungültiger Spaltenname.
Das heisst er hält den Wert des Parameters @sm_wert für einen Spaltennamen und nicht wür einen Wert.
Kann mir da wer weiter helfen? Ich habe lange im Internet gesucht, aber kann dazu nichts finden.
Die Tabelle sieht so aus.
Sind nur Beispiele
Stuffe (tinyint) | Schema(nvarchar20)) | Bezeichnung(nvarchar(20))
__________________________________________________ _
12233 | xz234 | xybez
die erste Prozedur.
zweite Prozedur, hier liegt das Problem
Es sind Zwei Prozeduren, die eine holt Werte aus einer Tabelle und ruft die andere Prozedru und übergibt die geholten Werte an diese als Parameter.
In der zweiten prozedur liegt der Fehler ich übergebe den Paramater @sm_wert an die where klause und möchte so bestimmte datensätze rausfiltern, doch es kommt immer der Fehler Ungültiger Spaltenname.
Das heisst er hält den Wert des Parameters @sm_wert für einen Spaltennamen und nicht wür einen Wert.
Kann mir da wer weiter helfen? Ich habe lange im Internet gesucht, aber kann dazu nichts finden.
Die Tabelle sieht so aus.
Sind nur Beispiele
Stuffe (tinyint) | Schema(nvarchar20)) | Bezeichnung(nvarchar(20))
__________________________________________________ _
12233 | xz234 | xybez
die erste Prozedur.
Code:
..... declare @i int declare @z int declare @stunr_wert nvarchar(10) declare @bez nvarchar(10) declare @sm_wert nvarchar(10) set @z=1 set @i = (select count(*) from dbo.PAR_2) while @i>0 begin set @stunr_wert = (SELECT stuffe FROM [dbo].[Par_2] where id=@z) set @bez =(SELECT bezeichnung FROM [dbo].[Par_2] where id=@z) set @sm_wert =(SELECT schema FROM [dbo].[Par_2] where id=@z) execute dbo.test_Parm_p @stunr_wert, @bez, @lsm_wert set @z=@z+1 set @i=@i-1
Code:
ALTER PROCEDURE [dbo].[P_Fkt_Vtrb_ins_2] @stunr_wert nvarchar(10), @bez nvarchar(10), @sm_wert nvarchar(10) AS declare @sqlexec nvarchar(4000) BEGIN SET NOCOUNT ON; set @sqlexec =' INSERT INTO [dbo].[tbl_Fkt] ( ['+@bez+'] ,[wert1] ,[wert2]) SELECT wert1, wert2 FROM dbo.Test -- An dieser Stelle ist der Fehler WHERE (test.STUNR < '+@stunr_wert+') AND (test.Schema= '+@sm_wert+' exec(@sqlexec)
Comment