sql >> Databáze >  >> RDS >> Sqlserver

Vložte varbinary data do databáze SQL Server

Dva problémy:

Problém č. 1 :nepoužívejte TEXT již - je zastaralá. Použijte VARCHAR(n) s vhodnou velikostí n , nebo pokud opravdu musíte (pouze pokud OPRAVDU must), použijte VARCHAR(MAX)

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

Osobně bych se také vyvaroval psaní VŠECH VELKÝMI PÍSMENY - díky tomu je to mnohem těžší číst! A snažil bych se vyhnout velmi obecným názvy sloupců jako Name nebo Description - nejsou příliš intuitivní a mohou kolidovat se sloupci jiné tabulky a/nebo s vyhrazenými klíčovými slovy SQL Serveru. Zkuste použít výraznější , názvy sloupců více související s kontextem, které dávají smysl ve vašem prostředí (ConnectUsername nebo cokoliv)

Problém č. 2 :při provádění INSERT , doporučuji vždy definujte sloupec, do kterého chcete vložit. Vyhnete se tak nepříjemným překvapením při restrukturalizaci tabulky nebo přidání nových sloupců:

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



  1. MySQL Auto Increment Sloupce o TRANSAKCI, COMMIT a ROLLBACK

  2. Vícesloupcový index na 3 polích s heterogenními datovými typy

  3. Výkon PHP vs MySQL (pokud , funkce ) v dotazu

  4. omezení zavaděče byla porušena při propojení třídy javax/xml/namespace/QName z webové aplikace na Oracle 10g