To problemer:
Udgave #1 :brug ikke TEXT
længere - det er forældet. Brug en VARCHAR(n)
med en passende størrelse på n
, eller hvis du virkelig skal (kun hvis du RIGTIG skal), brug VARCHAR(MAX)
CREATE TABLE dbo.CONNECT_USER
(
NUM_TRF int,
NAME varchar(255),
DESCRIPTION varchar(1000),
REPORT varbinary(max)
)
Jeg ville personligt også undgå at skrive ALT MED ALT – det gør det bare så meget sværere at læse! Og jeg ville forsøge at undgå meget generisk kolonnenavne som Name
eller Description
- disse er ikke særlig intuitive og kan kollidere med andre tabels kolonner og/eller med reserverede søgeord i SQL Server. Prøv at bruge mere udtryksfuldt , mere kontekstrelaterede kolonnenavne, der giver mening i dit miljø (ConnectUsername
eller hvad som helst)
Udgave #2 :når du laver en INSERT
, vil jeg anbefale altid definere den kolonne, du vil indsætte i. Dette undgår ubehagelige overraskelser, når en tabel omstruktureres eller nye kolonner tilføjes:
INSERT INTO [MY_DB_APP].[dbo].[CONNECT_USER](NUM_TRF, NAME, DESCRIPTION, REPORT)
VALUES(1, 'name', 'description', CAST('wahid' AS VARBINARY(MAX)))
GO