Cześć, najpierw chcę sprawdzić, czy tabela istnieje. Jeśli nie, to ją tworzę, jeśli tak, to sprawdzam, czy istnieją pewne kolumny i ewentualnie je dodaję.
Kawałek mojego kodu:
if not exists(SELECT * FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME = 'tabela')
begin
CREATE TABLE [dbo].[tabela](
[ID] [bigint] IDENTITY(1,1) NOT NULL,
[cID] [bigint] NULL,
[rID] [bigint] NULL,
[finger] [int] NULL,
[inoutMode] [int] NULL,
[name] [varchar](50) COLLATE Polish_CI_AS NULL,
[isGhost] [int] NULL,
[advanced] [int] NULL,
[getLogs] [int] NULL,
CONSTRAINT [PK_bioentry] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) on [primary]
GO
end else
begin
if not exists(SELECT * FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME='tabela' AND COLUMN_NAME='finger')
begin
alter table tabela add finger int
END
end;
Gdy próbuję to uruchomić, wyskakuje mi błąd przy: ) on [primary]
"Msg 102, Level 15, State 1, Line 21
Incorrect syntax near 'primary'."
O co chodzi??
DOPISANE
OK, już wiem. Z jakiegoś powodu trzeba pozbyć się BEGIN i END, i GO, które stoją przy CREATE i wtedy chodzi.