Référence SQL

| | |

Autorisations des instructions (SQL) CREATE PROCEDURE

|

Si l'ID autorisation de l'instruction dispose des droits SYSADM, mais non des droits |DBADM, cet ID reçoit les droits DBADM implicites afin de créer la procédure. Cela |s'applique à l'instruction (SQL) CREATE PROCEDURE, mais non à l'instruction (externe) |CREATE PROCEDURE.

EXPLAIN_DIAGNOSTIC : une nouvelle table Explain

La table EXPLAIN_DIAGNOSTIC contient une entrée pour chaque message de diagnostic généré pour une instance particulière d'une instruction expliquée dans la table EXPLAIN_STATEMENT.

La fonction de table EXPLAIN_GET_MSGS interroge les tables EXPLAIN_DIAGNOSTIC et EXPLAIN_DIAGNOSTIC_DATA et renvoie des messages formatés.

Tableau 39. Table EXPLAIN_DIAGNOSTIC
Nom de colonne Type de données Valeur NULL admise Clé 1 Description
EXPLAIN_REQUESTER VARCHAR(128) Non PK, FK ID utilisateur de l'initiateur de cette demande Explain.
EXPLAIN_TIME TIMESTAMP Non PK, FK Heure à laquelle la demande Explain a été initiée.
SOURCE_NAME VARCHAR(128) Non PK, FK Nom du package en cours d'exécution lorsque l'instruction dynamique a été expliquée, ou nom du fichier lors de l'explication du SQL statique.
SOURCE_SCHEMA VARCHAR(128) Non PK, FK Schéma, ou qualifiant, de la source de la demande Explain.
SOURCE_VERSION VARCHAR(64) Non PK, FK Version de la source de la demande Explain.
EXPLAIN_LEVEL CHAR(1) Non PK, FK Niveau des informations Explain pour lequel cette ligne est pertinente.

Les valeurs correctes sont :

  • O : Texte original (tel qu'entré par l'utilisateur)
  • P : SELECTION DE PLAN
STMTNO INTEGER Non PK, FK Numéro d'instruction dans le package auquel se rapportent ces informations Explain. Egal à 1 pour les instructions Explain SQL dynamique. Pour les instructions SQL statique, cette valeur est la même que celle utilisée pour la vue catalogue SYSCAT.STATEMENTS.
SECTNO INTEGER Non PK, FK Numéro de section dans le package contenant cette instruction SQL. Pour les instructions Explain SQL dynamique, numéro de section utilisé pour mettre en attente la section pour cette instruction lors de l'exécution. Pour les instructions SQL statique, cette valeur est la même que celle utilisée pour la vue catalogue SYSCAT.STATEMENTS.
DIAGNOSTIC_ID INTEGER Non PK ID diagnostic pour une instance particulière d'une instruction dans la table EXPLAIN_STATEMENT.
CODE INTEGER Non Non Numéro unique affecté à chaque message de diagnostic. Ce numéro peut être utilisé par une API de message pour extraire le texte complet du message de diagnostic.

  1. PK signifie que la colonne fait partie d'une clé primaire (primary key) ; FK signifie que la colonne fait partie d'une clé externe (foreign key).

EXPLAIN_DIAGNOSTIC_DATA : une nouvelle table Explain

La table EXPLAIN_DIAGNOSTIC_DATA contient des jetons de message pour des messages de diagnostic spécifiques enregistrés dans la table EXPLAIN_DIAGNOSTIC. Les jetons de message fournissent des informations complémentaires propres à l'exécution de l'instruction SQL ayant généré le message.

La fonction de table EXPLAIN_GET_MSGS interroge les tables EXPLAIN_DIAGNOSTIC et EXPLAIN_DIAGNOSTIC_DATA et renvoie des messages formatés.

Tableau 40. Table EXPLAIN_DIAGNOSTIC_DATA
Nom de colonne Type de données Valeur NULL admise Clé 1 Description
EXPLAIN_REQUESTER VARCHAR(128) Non FK ID utilisateur de l'initiateur de cette demande Explain.
EXPLAIN_TIME TIMESTAMP Non FK Heure à laquelle la demande Explain a été initiée.
SOURCE_NAME VARCHAR(128) Non FK Nom du package en cours d'exécution lorsque l'instruction dynamique a été expliquée, ou nom du fichier lors de l'explication du SQL statique.
SOURCE_SCHEMA VARCHAR(128) Non FK Schéma, ou qualifiant, de la source de la demande Explain.
SOURCE_VERSION VARCHAR(64) Non FK Version de la source de la demande Explain.
EXPLAIN_LEVEL CHAR(1) Non FK Niveau des informations Explain pour lequel cette ligne est pertinente.

Les valeurs correctes sont :

  • O : Texte original (tel qu'entré par l'utilisateur)
  • P : SELECTION DE PLAN
STMTNO INTEGER Non FK Numéro d'instruction dans le package auquel se rapportent ces informations Explain. Egal à 1 pour les instructions Explain SQL dynamique. Pour les instructions SQL statique, cette valeur est la même que celle utilisée pour la vue catalogue SYSCAT.STATEMENTS.
SECTNO INTEGER Non FK Numéro de section dans le package contenant cette instruction SQL. Pour les instructions Explain SQL dynamique, numéro de section utilisé pour mettre en attente la section pour cette instruction lors de l'exécution. Pour les instructions SQL statique, cette valeur est la même que celle utilisée pour la vue catalogue SYSCAT.STATEMENTS.
DIAGNOSTIC_ID INTEGER Non PK ID diagnostic pour une instance particulière d'une instruction dans la table EXPLAIN_STATEMENT.
ORDINAL INTEGER Non Non Position du jeton dans le texte complet du message.
TOKEN VARCHAR(1000) Oui Non Jeton de message devant être inséré dans le texte complet du message ; peut être tronqué.
TOKEN_LONG BLOB(3M) Oui Non Informations plus détaillées, si disponibles.

  1. PK signifie que la colonne fait partie d'une clé primaire (primary key) ; FK signifie que la colonne fait partie d'une clé externe (foreign key).

Schéma utilisé avec la fonction Explain

La fonction Explain utilise les ID suivants comme schéma lorsqu'elle qualifie les tables Explain qu'elle remplit :

Le schéma peut être associé avec un ensemble de tables Explain ou des alias pointant vers un ensemble de tables Explain dans un autre schéma.

Si aucune table Explain n'est trouvée dans le schéma, la fonction Explain recherche les tables dans le schéma SYSTOOLS et tente de les utiliser.

Représentations de chaînes des valeurs date/heure

Chaîne Heure

La réprésentation par chaîne de l'heure est une chaîne commençant pas un chiffre et d'une longueur d'au moins 4 caractères. Des espaces peuvent être inclus, le zéro du début peut être omis pour l'heure et les secondes peuvent être omises. Si les secondes sont omises, un spécification implicite de 0 seconde est supposée. Par conséquent, 13:30 équivaut à 13:30:00.

Les formats de chaîne corrects pour les heures sont répertoriés dans le tableau suivant. Chaque format est identifié par son nom et un abréviation appropriée.

Tableau 41. Formats pour les réprésentations par chaînes des heures
Nom de format Abréviation Format Heure Exemple
International Standards Organization ISO hh.mm.ss 13.30.05
Norme IBM USA USA hh:mm AM ou PM 1:30 PM
Norme IBM European EUR hh.mm.ss 13.30.05
Japanese Industrial Standard Christian Era JIS hh:mm:ss 13:30:05
Défini par le site LOC En fonction du code territoire de l'application -

A la version 8.2, "AM" et "PM" peuvent être réprésenté en minuscule ou majuscules.

[ Début de page |Page précédente | Page suivante | Table des matières ]