CODE RETOUR -628

THE CLAUSES ARE MUTUALLY EXCLUSIVE

Explication
Des clauses mutuellement exclusives ont été spécifiées dans l’instruction SQL. Dans les cas où vous modifiez un objet, une clause a été spécifiée qui entre en conflit avec une propriété existante de l’objet.

Instructions SELECT

  • Une valeur select-statement contient à la fois update-clause et la clause FOR FETCH ONLY.

Instructions CREATE DATABASE

  • Une instruction CREATE DATABASE contient à la fois la clause AS WORKFILE et la clause AS TEMP.

Instructions ALTER FUNCTION ou CREATE FUNCTION

  • Une instruction ALTER FUNCTION pour une fonction définie comme sécurisée a spécifié la clause ADD VERSION ou la clause REPLACE, mais pas la clause SECURED. Lorsqu’une fonction est définie comme sécurisée et qu’une nouvelle version est ajoutée ou qu’une version est remplacée, l’instruction ALTER FUNCTION doit spécifier la clause SECURED.
  • Une instruction CREATE FUNCTION contient à la fois une clause CAST FROM et une clause SOURCE.
  • Une instruction CREATE FUNCTION contient à la fois une clause SOURCE et une clause RETURNS TABLE.
  • Une instruction CREATE FUNCTION contient à la fois une clause SOURCE et une clause utilisée pour définir une fonction externe (telle que EXTERNAL, LANGUAGE ou NO SQL).
  • Une instruction CREATE FUNCTION a été spécifiée avec une clause PARAMETER VARCHAR. Vous pouvez spécifier CREATE FUNCTION avec PARAMETER VARCHAR uniquement si LANGUAGE C est également spécifié.
  • Une instruction CREATE FUNCTION ou ALTER FUNCTION peut contenir la clause CAST FROM uniquement pour les fonctions scalaires externes.
  • Une instruction CREATE FUNCTION ou ALTER FUNCTION a spécifié SCRATCHPAD. SCRATCHPAD ne doit pas être spécifié lorsque LANGUAGE JAVA ou PARAMETER STYLE JAVA est également spécifié pour une fonction.
  • Une instruction CREATE FUNCTION ou ALTER FUNCTION a spécifié FINAL CALL. FINAL CALL ne doit pas être spécifié lorsque LANGUAGE JAVA ou PARAMETER STYLE JAVA est également spécifié pour une fonction.
  • Une instruction CREATE FUNCTION ou ALTER FUNCTION a spécifié LANGUAGE JAVA, LANGUAGE COMPJAVA ou PARAMETER STYLE JAVA, avec DBINFO. DBINFO ne doit pas être spécifié dans ces cas.
  • Une instruction CREATE FUNCTION ou ALTER FUNCTION spécifie LANGUAGE JAVA ou PARAMETER STYLE JAVA, avec RUN OPTIONS. RUN OPTIONS ne doit pas être spécifié dans ces cas.
  • Une instruction CREATE FUNCTION ou ALTER FUNCTION a spécifié PARAMETER STYLE JAVA, mais LANGUAGE JAVA n’a pas été spécifié.
  • Une instruction CREATE FUNCTION ou ALTER FUNCTION a spécifié LANGUAGE JAVA, mais n’a pas spécifié PARAMETER STYLE JAVA.
  • Une instruction CREATE FUNCTION ou ALTER FUNCTION a spécifié RETURNS GENERIC TABLE, mais n’a pas spécifié LANGUAGE C.
  • LA LANGUE JAVA n’est pas autorisée pour les fonctions de table.

Instructions ALTER INDEX ou CREATE INDEX

  • UNIQUE ou UNIQUE WHERE NOT NULL a été spécifié avec PARTITIONED sur CREATE INDEX. Vous ne pouvez pas spécifier UNIQUE ou UNIQUE WHERE NOT NULL avec PARTITIONED sur CREATE INDEX à moins que l’index n’inclue toutes les colonnes de partitionnement.
  • Une instruction CREATE INDEX contient à la fois un GENERATE KEY USING et une colonne spécifiée comme ASC, DESC ou RANDOM.
  • Une instruction CREATE INDEX contient XMLPATTERN et PARTITIONED.
  • Une instruction CREATE INDEX ou ALTER INDEX a tenté de spécifier CLUSTER, PARTITION BY ou les deux pour un index XML ou un index étendu.

Instructions ALTER PROCEDURE ou CREATE PROCEDURE

  • Une instruction CREATE PROCEDURE spécifiait soit FENCED soit EXTERNAL indiquant qu’une procédure SQL externe doit être définie, et l’instruction incluait également une ou plusieurs options qui ne sont autorisées que pour les procédures SQL natives. Par exemple, PACKAGE OWNER peut être spécifié dans l’instruction CREATE PROCEDURE pour une procédure SQL native, mais il n’est pas autorisé pour une procédure SQL externe.
  • Une instruction CREATE PROCEDURE a été spécifiée avec une clause PARAMETER VARCHAR. Vous pouvez spécifier CREATE PROCEDURE avec PARAMETER VARCHAR uniquement si LANGUAGE C est également spécifié.
  • Une instruction CREATE PROCEDURE ou ALTER PROCEDURE a spécifié LANGUAGE JAVA ou PARAMETER STYLE JAVA, avec DBINFO. DBINFO ne doit pas être spécifié dans ces cas.
  • Une instruction CREATE PROCEDURE ou ALTER PROCEDURE a spécifié PARAMETER STYLE JAVA, mais LANGUAGE JAVA n’a pas été spécifié.
  • Une instruction CREATE ou ALTER PROCEDURE a spécifié LANGUAGE JAVA, mais n’a pas spécifié PARAMETER STYLE JAVA.
  • Une instruction CREATE PROCEDURE ou ALTER PROCEDURE a spécifié LANGUAGE JAVA sans AUCUN ENVIRONNEMENT WLM. NO WLM ENVIRONNEMENT ne doit pas être spécifié lorsque LANGUAGE JAVA est également spécifié pour une procédure.
  • Une instruction CREATE PROCEDURE ou ALTER PROCEDURE tente d’utiliser les options NO WLM ENVIRONMENT et PROGRAM TYPE SUB. Lorsque NO WLM ENVIRONNEMENT est utilisé, SECURITY doit également être utilisé.
  • Une instruction CREATE PROCEDURE ou ALTER PROCEDURE tente d’utiliser à la fois NO WLM ENVIRONMENT et USER ou DEFINER pour SECURITY. Lorsque NO WLM ENVIRONNEMENT est utilisé, SECURITY Db2 doit également être utilisé.
  • Une instruction CREATE PROCEDURE ou ALTER PROCEDURE contient à la fois une clause LANGUAGE REXX et une clause PARAMETER STYLE DB2SQL ou PARAMETER STYLE JAVA.
  • Une instruction CREATE PROCEDURE ou ALTER PROCEDURE a spécifié LANGUAGE JAVA ou PARAMETER STYLE JAVA, avec RUN OPTIONS. RUN OPTIONS ne doit pas être spécifié dans ces cas.
  • Une instruction CREATE PROCEDURE ou ALTER PROCEDURE contient une clause DEBUG MODE lorsque ni LANGUAGE JAVA ni LANGUAGE SQL ne sont en vigueur pour la procédure.
  • Une instruction CREATE ou ALTER ADD contient une clause DYNAMIC RESULT SETS et une clause AUTONOMOUS.
  • EXTERNAL NAME a été spécifié sur ALTER PROCEDURE pour une procédure SQL. Vous pouvez tenter la même action en émettant un DROP pour la procédure et en essayant de la reconstruire avec CREATE PROCEDURE.

Instructions ALTER TABLE ou CREATE TABLE

Uniquement pour ALTER TABLE

  • Une instruction ALTER TABLE contient à la fois une clause DROP CONSTRAINT et une clause DROP FOREIGN KEY, DROP CHECK, DROP PRIMARY KEY ou DROP UNIQUE.
  • Une instruction ALTER TABLE contient à la fois une clause ALTER COLUMN et une clause VALIDPROC.
  • Une instruction ALTER TABLE contient à la fois une clause ALTER COLUMN et une clause autre que la clause de contrainte de vérification.
  • Une instruction ALTER TABLE contient une clause ADD MATERIALIZED QUERY ou DROP MATERIALIZED QUERY, ainsi que d’autres clauses.
  • Une instruction ALTER TABLE contient la clause DROP COLUMN avec une autre clause. La clause DROP COLUMN ne peut être utilisée avec aucune autre clause.
  • Une instruction ALTER TABLE contient une clause ENABLE ARCHIVE et une autre clause. La clause ENABLE ARCHIVE ne peut être utilisée avec aucune autre clause.
  • Une instruction ALTER TABLE contient une clause DISABLE ARCHIVE et une autre clause. La clause DISABLE ARCHIVE ne peut être utilisée avec aucune autre clause.
  • Une instruction ALTER TABLE contient à la fois une clause ORGANIZE BY HASH et l’option APPEND.
  • Une instruction ALTER TABLE contient une clause ORGANIZE BY HASH, mais la table n’est pas dans un espace table universel. La clause ORGANIZE BY HASH n’est valide que pour les tables d’un espace table universel.
  • Une instruction ALTER TABLE contient à la fois une clause ADD COLUMN et la syntaxe LONG VARCHAR (ou LONG VARGRAPHIC) pour le type de données d’une table temporelle de période système ou d’une table activée pour l’archivage.
  • Une clause RENAME a été émise avec une autre clause dans une seule instruction ALTER. RENAME ne peut pas être émis avec une autre clause dans une seule instruction ALTER.
  • Une instruction ALTER TABLE contient distinctement au moins deux des clauses suivantes : ALTER COLUMN, ADD PARTITION, ALTER PARTITION et ROTATE PARTITION. Les clauses s’excluent mutuellement, sauf si les clauses ADD PARTITION et ALTER PARTITION sont spécifiées ensemble pour ajouter une nouvelle partition entre des partitions logiques existantes.

Uniquement pour CREATE TABLE

  • Une instruction CREATE TABLE contient à la fois une clause DSSIZE et une clause EVERY integer G.
  • Une instruction CREATE TABLE contient une clause CCSID 1208 pour une colonne VARCHAR ou une clause CCSID 1200 pour une colonne VARGRAPHIC dans une table EBCDIC.
  • Une instruction CREATE TABLE contient à la fois une clause CCSID 1208 ou CCSID 1200 et une clause FIELDPROC.
  • Un espace table explicite ne peut pas être spécifié dans une instruction CREATE TABLE qui spécifie les attributs d’espace table pour un espace table implicite.
  • Rien

Pour ALTER TABLE et CREATE TABLE

  • Une instruction ALTER TABLE ou CREATE TABLE contient une clause ORGANIZE BY HASH, mais la table est définie dans un espace table défini avec l’option MEMBER CLUSTER.
  • Une instruction ALTER TABLE ou CREATE TABLE contient la clause VERSIONING et la clause LIKE.
  • DATA CAPTURE CHANGES pour ALTER TABLE ou CREATE TABLE ne peut être spécifié que pour les tables des espaces table avec l’attribut de journalisation LOGGED.
  • PARTITION BY SIZE a été spécifié avec une clause IN qui a identifié un espace table qui n’est pas défini comme un espace table partition par croissance.
  • Une valeur column-definition contient à la fois les clauses NOT NULL et DEFAULT NULL.
  • Une valeur column-definition contient à la fois les clauses FIELDPROC et DEFAULT.

Instructions ALTER TABLESPACE ou CREATE TABLESPACE

  • Une instruction ALTER TABLESPACE avec la clause ALTER PARTITION contient également la clause DSSIZE. La clause DSSIZE ne peut pas être spécifiée pour un espace table partition par plage non relatif.
  • Une instruction ALTER TABLESPACE contient la clause DROP PENDING CHANGES avec une autre clause. La clause DROP PENDING CHANGES ne peut être utilisée avec aucune autre clause.
  • NOT LOGGED pour ALTER TABLESPACE est mutuellement exclusif avec DATA CAPTURE CHANGES, qui est un attribut d’une ou plusieurs des tables de l’espace table.
  • Une instruction ALTER TABLESPACE contient la clause MOVE TABLE avec une autre clause. La clause MOVE TABLE ne peut être utilisée avec aucune autre clause.
  • Une instruction ALTER TABLESPACE contient la clause PAGENUM avec une autre clause. La clause PAGENUM ne peut être utilisée avec aucune autre clause.
  • Une instruction ALTER TABLESPACE contient la clause SEGSIZE avec une autre clause. La clause SEGSIZE ne peut être utilisée avec aucune autre clause.
  • Une instruction CREATE TABLESPACE a spécifié MAXPARTITIONS et NUMPARTS.
  • Une instruction CREATE TABLESPACE contient à la fois les clauses MAXPARTITIONS et PARTITION.
  • Une instruction CREATE TABLESPACE contient les clauses SEGSIZE et MEMBER CLUSTER sans clause MAXPARTITIONS ou NUMPARTS.
  • Une instruction CREATE TABLESPACE ou ALTER TABLESPACE contient à la fois LOCKPART YES et LOCKSIZE TABLESPACE.
  • Une instruction CREATE TABLESPACE ou ALTER TABLESPACE a spécifié MAXPARTITIONS et LOCKSIZE TABLE.
  • Une instruction CREATE TABLESPACE ou ALTER TABLESPACE contient à la fois une clause ORGANIZE BY HASH et l’option APPEND.
  • Une clause USING VCAT a été spécifiée dans une instruction CREATE TABLESPACE ou ALTER TABLESPACE pour un espace table partition par croissance.

Instructions ALTER TRIGGER ou CREATE TRIGGER

  • Une instruction ALTER ou CREATE TRIGGER spécifie plusieurs noms de corrélation pour OLD, NEW, OLD_TABLE ou NEW_TABLE. Chacune de ces spécifications de corrélation ne peut apparaître qu’une seule fois dans l’instruction ALTER ou CREATE TRIGGER.
  • La clause WHEN ne doit pas être spécifiée pour un déclencheur INSTEAD OF.
  • Deux attributs dans l’instruction ALTER ou CREATE TRIGGER sont en conflit. CREATE TRIGGER (basique) indique quelles combinaisons sont valides. Par exemple, d’après le tableau, FOR EACH STATEMENT ne doit pas être utilisé pour un déclencheur BEFORE ou INSTEAD OF ou avec la clause REFERENCING NEW ROW.

Instructions ALTER TRUSTED CONTEXT

  • Une définition de CONTEXTE DE CONFIANCE a spécifié ATTRIBUTE JOBNAME avec ATTRIBUTE ADDRESS ou SERVAUTH ou ENCRYPTION.

Instructions DECLARE CURSOR

  • Une instruction DECLARE CURSOR spécifie à la fois l’option WITH RETURN TO CLIENT et l’une des options suivantes : WITH RETURN (TO CALLER) ou WITHOUT RETURN.
  • Si INSENSITIVE ou SENSITIVE est spécifié, alors SCROLL doit également être spécifié, soit sur DECLARE CURSOR, soit avec la clause ATTRIBUTES de l’instruction PREPARE.
  • Si SCROLL est spécifié, alors INSENSITIVE ou SENSITIVE STATIC doivent également être spécifiés, soit sur DECLARE CURSOR, soit avec la clause ATTRIBUTES de l’instruction PREPARE.

Instructions DECLARE GLOBAL TEMPORARY TABLE

  • La clause AS (sous-sélection) d’une instruction DECLARE GLOBAL TEMPORARY TABLE contient à la fois une clause INCLUDING COLUMN DEFAULTS et une clause USING TYPE DEFAULTS.

Instructions PREPARE 

  • Si INSENSITIVE ou SENSITIVE est spécifié, alors SCROLL doit également être spécifié, soit sur DECLARE CURSOR, soit avec la clause ATTRIBUTES de l’instruction PREPARE.
  • Si SCROLL est spécifié, alors INSENSITIVE ou SENSITIVE STATIC doivent également être spécifiés, soit sur DECLARE CURSOR, soit avec la clause ATTRIBUTES de l’instruction PREPARE.
  • La valeur attribute-string spécifiée dans la clause ATTRIBUTES de l’instruction PREPARE ne peut pas spécifier d’options en conflit.

Action du système
L’instruction ne peut pas être traitée.

Réponse du programmeur
Passez en revue les options autorisées pour la déclaration que vous souhaitez émettre, modifiez les options spécifiées dans la déclaration et réémettez la déclaration.

SQLSTATE
42613