Hallo,
ich habe ein Problem bei der Durchführung einer PROCEDURE:
Die PROCEDURE greift auf der Datenbank auf eine Tabelle (Variable 1) zu und führt verschiedene Berechnungsschritte durch. Als letzten Schritt möchte ich das Berechnungsdatum und Endergebnis mit der Bezeichnung der Tabelle und der verwendeten Spalte (Variable2) in eine neue Tabelle wegschreiben. Da ich die Abfrage in der PROCEDURE als Text darstelle, kann ich die Variable 1 für die INSERT INTO Abfrage nicht mit ' als Text markieren.
Gibt es hier andere Möglichkeiten / einen Ausweg!?
Hier die Abfrage:
CREATE procedure ProzedurErgebnisse (@TableName1 sysname, @merkmal nvarchar(50))
AS
declare @Query nvarchar(4000)
SET @Query ='
...
insert into Ergebnisse (Berechnungsdatum, Tabelle, Merkmal, Teilergebnis)
values (getdate()
,'+ @TableName1 +'
,'+ @merkmal +'
,Teilergebnis);
'
exec sp_executesql @Query;
ich habe ein Problem bei der Durchführung einer PROCEDURE:
Die PROCEDURE greift auf der Datenbank auf eine Tabelle (Variable 1) zu und führt verschiedene Berechnungsschritte durch. Als letzten Schritt möchte ich das Berechnungsdatum und Endergebnis mit der Bezeichnung der Tabelle und der verwendeten Spalte (Variable2) in eine neue Tabelle wegschreiben. Da ich die Abfrage in der PROCEDURE als Text darstelle, kann ich die Variable 1 für die INSERT INTO Abfrage nicht mit ' als Text markieren.
Gibt es hier andere Möglichkeiten / einen Ausweg!?
Hier die Abfrage:
CREATE procedure ProzedurErgebnisse (@TableName1 sysname, @merkmal nvarchar(50))
AS
declare @Query nvarchar(4000)
SET @Query ='
...
insert into Ergebnisse (Berechnungsdatum, Tabelle, Merkmal, Teilergebnis)
values (getdate()
,'+ @TableName1 +'
,'+ @merkmal +'
,Teilergebnis);
'
exec sp_executesql @Query;
Comment