Alteryx Designer Desktop Discussions

Find answers, ask questions, and share expertise about Alteryx Designer Desktop and Intelligence Suite.
SOLVED

Utiliser une Post Create SQL avec IF et BEGIN

psyrio
9 - Comet

Bonjour,

 

Je souhaite ajouter une requête Post Create SQL dans mon output tool mais j'ai un message d'erreur qui apparait. Cette requete doit vérifier si ma table existe, si ce n'est pas le cas, la créer et y ajouter des index sinon la vider.

 

Voici le message reçu : Error: Output Data (64): Executing PostSQL: "if not exists (select * from sysobjects where name='RESTIT_LIEN_COT_BASE_TEMP' and xtype='U')
BEGIN
create table RESTIT..." : [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Syntaxe incorrecte vers ';'.

 

Pourriez vous m'aider s'il vous plait ?

 

Ci dessous la requête actuelle :

 

Spoiler
if not exists (select * from sysobjects where name='RESTIT_LIEN_COT_BASE_TEMP' and xtype='U')
BEGIN
create table RESTIT_LIEN_COT_BASE_TEMP (
SalarieID VARCHAR(999) not null,
Etablissement_ID VARCHAR(999) not null,
Envoi_DSN_ID VARCHAR(999) not null,
DSN_ID VARCHAR(999) not null,
G00_11_D98 VARCHAR(30) not null,
G00_30_019 VARCHAR(999) not null,
G00_05_005 VARCHAR(10) not null,
G00_78_C00 VARCHAR(256) not null,
G00_78_001 VARCHAR(256),
G00_79_001 VARCHAR(256),
G00_81_001 VARCHAR(256),
G00_81_002 VARCHAR(256),
G00_81_002_LIB_TYPE_STD VARCHAR(256),
G00_81_002_LIB_STD VARCHAR(999),
G00_81_002_LIB_CLT VARCHAR(999),
G00_81_002_LIB_DSN VARCHAR(999)
);
CREATE INDEX X_RESTIT_LIEN_COT_BASE_TEMP ON RESTIT_LIEN_COT_BASE_TEMP
(
SalarieID,
Etablissement_ID,
Envoi_DSN_ID,
DSN_ID,
G00_11_D98,
G00_30_019,
G00_05_005
);
CREATE INDEX Y_RESTIT_LIEN_COT_BASE_TEMP ON RESTIT_LIEN_COT_BASE_TEMP
(
G00_11_D98,
G00_30_019,
G00_05_005
);
CREATE INDEX Z_RESTIT_LIEN_COT_BASE_TEMP ON RESTIT_LIEN_COT_BASE_TEMP
(
SalarieID,
Etablissement_ID,
Envoi_DSN_ID,
DSN_ID
);
END
ELSE TRUNCATE TABLE "RH_DSN"."dbo".RESTIT_LIEN_COT_BASE_TEMP;
1 REPLY 1
psyrio
9 - Comet

Finaly it's a problem with my ;

It's work fine whitout the ;

Labels