Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Inserir dados varbinary no banco de dados SQL Server


Duas questões:

Problema nº 1 :não use TEXT mais - está obsoleto. Use um VARCHAR(n) com um tamanho adequado de n , ou se você realmente deve (somente se você REALMENTE deve), use VARCHAR(MAX)
CREATE TABLE dbo.CONNECT_USER
(
    NUM_TRF int,
    NAME varchar(255),
    DESCRIPTION varchar(1000),
    REPORT varbinary(max)
)

Eu pessoalmente também evitaria escrever TUDO EM MAIÚSCULAS - isso só torna muito mais difícil de ler! E eu tentaria evitar muito genéricos nomes de colunas como Name ou Description - essas não são muito intuitivas, podendo colidir com colunas de outras tabelas e/ou com palavras-chave reservadas do SQL Server. Tente usar mais expressivo , mais nomes de colunas relacionados ao contexto que fazem sentido em seu ambiente (ConnectUsername como queiras)

Problema nº 2 :ao fazer um INSERT , eu recomendaria sempre defina a coluna na qual deseja inserir. Isso evita surpresas desagradáveis ​​quando uma tabela é reestruturada ou novas colunas são adicionadas:
INSERT INTO [MY_DB_APP].[dbo].[CONNECT_USER](NUM_TRF, NAME, DESCRIPTION, REPORT)
VALUES(1, 'name', 'description', CAST('wahid' AS VARBINARY(MAX)))
GO