Deux problèmes :
Problème 1 :ne pas utiliser TEXT
plus - il est obsolète. Utiliser un VARCHAR(n)
avec une taille appropriée de n
, ou si vous vraiment devez (seulement si vous VRAIMENT doit), utilisez VARCHAR(MAX)
CREATE TABLE dbo.CONNECT_USER
(
NUM_TRF int,
NAME varchar(255),
DESCRIPTION varchar(1000),
REPORT varbinary(max)
)
Personnellement, j'éviterais aussi d'écrire TOUT EN MAJUSCULES - cela rend la lecture tellement plus difficile ! Et j'essaierais d'éviter les éléments très génériques les noms de colonne comme Name
ou Description
- ceux-ci ne sont pas très intuitifs et peuvent entrer en collision avec les colonnes d'autres tables et / ou avec des mots-clés réservés SQL Server. Essayez d'utiliser plus expressif , davantage de noms de colonnes liés au contexte qui ont un sens dans votre environnement (ConnectUsername
ou autre)
Problème 2 :lors d'un INSERT
, je recommanderais de toujours définissez la colonne dans laquelle vous souhaitez insérer. Cela évite les mauvaises surprises lors de la restructuration d'un tableau ou de l'ajout de nouvelles colonnes :
INSERT INTO [MY_DB_APP].[dbo].[CONNECT_USER](NUM_TRF, NAME, DESCRIPTION, REPORT)
VALUES(1, 'name', 'description', CAST('wahid' AS VARBINARY(MAX)))
GO