Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Fügen Sie varbinary-Daten in die SQL Server-Datenbank ein

Zwei Probleme:

Ausgabe Nr. 1 :Verwenden Sie TEXT nicht mehr - es ist veraltet. Verwenden Sie einen VARCHAR(n) mit einer geeigneten Größe von n , oder ob Sie wirklich müssen (nur wenn Sie WIRKLICH muss), verwenden Sie VARCHAR(MAX)

CREATE TABLE dbo.CONNECT_USER
(
    NUM_TRF int,
    NAME varchar(255),
    DESCRIPTION varchar(1000),
    REPORT varbinary(max)
)

Ich persönlich würde es auch vermeiden, ALLES IN GROSSBUCHSTABEN zu schreiben - das macht es nur so viel schwerer zu lesen! Und ich würde versuchen, sehr allgemein zu vermeiden Spaltennamen wie Name oder Description - Diese sind nicht sehr intuitiv und können mit den Spalten anderer Tabellen und / oder mit reservierten Schlüsselwörtern von SQL Server kollidieren. Versuchen Sie, ausdrucksstärker zu verwenden , mehr kontextbezogene Spaltennamen, die in Ihrer Umgebung sinnvoll sind (ConnectUsername oder was auch immer)

Ausgabe Nr. 2 :bei einem INSERT , würde ich immer empfehlen Definieren Sie die Spalte, in die Sie einfügen möchten. So vermeiden Sie unangenehme Überraschungen, wenn eine Tabelle umstrukturiert oder neue Spalten hinzugefügt werden:

INSERT INTO [MY_DB_APP].[dbo].[CONNECT_USER](NUM_TRF, NAME, DESCRIPTION, REPORT)
VALUES(1, 'name', 'description', CAST('wahid' AS VARBINARY(MAX)))
GO