Article
· Juin 26 3m de lecture

Aperçu des options d'utilisation d'InterSystems IRIS® SQL - Partie 1

  

Bonjour à la communauté,

Dans cette série d'articles, nous allons explorer les options d'utilisation d'InterSystems SQL suivantes :

  1. Embedded SQL

  2. Dynamic SQL

  3. Class Queries

Vue d'ensemble de SQL

InterSystems SQL fournit un ensemble complet de fonctionnalités relationnelles standard, y compris la possibilité de définir un schéma de table, d'exécuter des requêtes et de définir et d'exécuter des procédures stockées. Vous pouvez exécuter InterSystems SQL de manière interactive à partir du portail de gestion ou de manière programmatique à l'aide d'une interface shell SQL. Embedded SQL vous permet d'intégrer des instructions SQL dans votre code ObjectScript, tandis que Dynamic SQL vous permet d'exécuter des instructions SQL dynamiques à partir d'ObjectScript au moment de l'exécution.

 
1. Embedded SQL

Dans ObjectScript, InterSystems SQL supporte Embedded SQL : la possibilité de placer une instruction SQL dans le corps d'une méthode (ou d'un autre code). En utilisant Embedded SQL, vous pouvez interroger un seul enregistrement ou définir un curseur et l'utiliser pour interroger plusieurs enregistrements. Embedded SQL est compilé. Par défaut, il est compilé lors de sa première exécution (runtime), et non lors de la compilation de la routine qui le contient. Embedded SQL est très puissant lorsqu'il est utilisé en conjonction avec la capacité d'accès aux objets d'InterSystems IRIS.


2. Dynamic SQL

Le SQL dynamique fait référence aux instructions SQL qui sont préparées et exécutées au moment de l'exécution. En SQL dynamique, la préparation et l'exécution d'une commande SQL sont des opérations distinctes. Dynamic SQL vous permet de programmer au sein d'InterSystems IRIS d'une manière similaire à une application ODBC ou JDBC (sauf que vous exécutez l'instruction SQL dans le même contexte de processus que le moteur de base de données). Dynamic SQL est invoqué à partir d'un programme ObjectScript. Les requêtes SQL dynamiques sont préparées au moment de l'exécution du programme, et non au moment de la compilation. 


3. Class Queries

Une requête de classe est un outil, contenu dans une classe et destiné à être utilisé avec le langage SQL dynamique, qui permet de rechercher des enregistrements répondant à des critères spécifiques. Les requêtes de classe vous permettent de créer des recherches prédéfinies pour votre application. Par exemple, vous pouvez rechercher des enregistrements par leur nom ou fournir une liste d'enregistrements répondant à un ensemble particulier de conditions, comme tous les vols Paris-Madrid.

Avant de passer à la première option, créons une classe persistante Demo.Person, qui étend également la classe %Populate pour remplir certaines données.

Class Demo.Person Extends (%Persistent, %Populate)
{
/// Person's name.
Property Name As %String(POPSPEC = "Name()") [ Required ];
/// Person's Social Security number. This is validated using pattern match.
Property SSN As %String(PATTERN = "3N1""-""2N1""-""4N") [ Required ];
/// Person's Date of Birth.
Property DOB As %Date(POPSPEC = "Date()");
/// Person's City
Property CITY As %String;
}

Exécutez la commande suivante pour vérifier les données du tableau après avoir compilé la classe ci-dessus :

SELECT
ID, CITY, DOB, Name, SSN
FROM Demo.Person


Exécutez maintenant la commande suivante pour remplir 20 enregistrements :

do ##class(Demo.Person).Populate(20)

Exécutez à nouveau la requête de sélection

Nous avons créé la table et l'avons remplie avec des données. Dans le prochain article, nous examinerons le SQL intégré.

Remerciements

Discussion (0)1
Connectez-vous ou inscrivez-vous pour continuer