Wir nutzen einen Webdienst, der beschlossen hat, die maximale Länge eines Feldes von 255 zu ändern. Wir haben eine alte Lieferantentabelle auf unserer Seite, die immer noch auf 255 begrenzt ist. Wir hoffen, dieses Problem vorübergehend mit einem Trigger lösen zu können, bis wir in unserer nächsten Iteration eine geschäftsfreundlichere Lösung implementieren können.
Damit habe ich angefangen:
CREATE TRIGGER [mySchema].[TruncDescription]
ON [mySchema].[myTable]
INSTEAD OF INSERT
AS
BEGIN
SET NOCOUNT ON;
INSERT INTO [mySchema].[myTable]
SELECT SubType, type, substring(description, 1, 255)
FROM inserted
END
Wenn ich jedoch versuche, auf myTable
erhalte ich die Fehlermeldung:
Zeichenkette oder binäre Daten w abgeschnitten. Die Anweisung wurde abgebrochen.
Ich habe experimentiert mit SET ANSI_WARNINGS OFF
wodurch die Abfrage zwar funktionierte, aber einfach keine Daten in die Beschreibungsspalte eingefügt wurden.
Gibt es eine Möglichkeit, einen Trigger zu verwenden, um die zu langen Daten abzuschneiden, oder gibt es eine andere Alternative, die ich verwenden kann, bis eine eloquentere Lösung entworfen werden kann? Wir sind in Bezug auf Tabellenänderungen ziemlich eingeschränkt (d. h. wir können es nicht), da es sich um eine Herstellertabelle handelt, und wir haben keine Kontrolle über den Webdienst, den wir nutzen, sodass wir ihn auch nicht bitten können, das Problem zu beheben. Für jede Hilfe wären wir dankbar.