sql >> Databasteknik >  >> RDS >> Sqlserver

Infoga varbinära data i SQL Server-databasen

Två frågor:

Nummer 1 :använd inte TEXT längre - den är utfasad. Använd en VARCHAR(n) med en lämplig storlek på n , eller om du verkligen måste (endast om du VERKLIGEN måste), använd VARCHAR(MAX)

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

Jag skulle personligen också undvika att skriva ALLT MED VERSALER – detta gör det bara så mycket svårare att läsa! Och jag skulle försöka undvika mycket generiskt kolumnnamn som Name eller Description - De är inte särskilt intuitiva och kan kollidera med andra tabellkolumner och/eller med reserverade sökord i SQL Server. Försök att använda mer uttrycksfulla , mer kontextrelaterade kolumnnamn som är vettiga i din miljö (ConnectUsername eller vad som helst)

Nummer 2 :när du gör en INSERT , skulle jag rekommendera att alltid definiera kolumnen du vill infoga i. Detta undviker obehagliga överraskningar när en tabell omstruktureras eller nya kolumner läggs till:

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



  1. Fel i dynamisk sats PL/PGSQL (funktioner och operatorer kan ta högst ett set argument)

  2. MYSQL:Hur skapar jag en trigger som beräknar ett fältvärde baserat på värde från olika tabeller?

  3. MySQLdb Python infoga %d och %s

  4. Visa öppna transaktioner i MySQL