Artículo
· 29 mayo, 2024 Lectura de 3 min

Descripción general de las opciones de uso de InterSystems IRIS® SQL - Parte 1

  

Hola comunidad,

En esta serie de artículos, exploraremos las siguientes opciones de uso de InterSystems SQL:

  1. SQL embebido

  2. SQL dinámico

  3. Class Queries


Descripción general SQL

InterSystems SQL proporciona un conjunto completo de funciones relacionales estándar, incluida la capacidad de definir esquemas de tablas, ejecutar consultas y definir y ejecutar procedimientos almacenados. Podéis ejecutar InterSystems SQL de forma interactiva desde el portal de gestión o mediante programación utilizando una interfaz de shell SQL. El SQL embebido permite incrustar sentencias SQL en el código ObjectScript, mientras que el SQL dinámico permite ejecutar sentencias SQL dinámicas desde ObjectScript en tiempo de ejecución.

 
1. SQL embebido

Dentro de ObjectScript, InterSystems SQL admite SQL embebido: la capacidad de colocar una declaración SQL dentro del cuerpo de un método (u otro código). Con Embedded SQL, podéis consultar un único registro o definir un cursor y utilizarlo para consultar varios registros. El SQL embebido se compila. Por defecto, se compila la primera vez que se ejecuta (tiempo de ejecución), no cuando se compila la rutina que lo contiene. El SQL embebido es bastante potente cuando se utiliza junto con la capacidad de acceso a objetos de InterSystems IRIS.


2. SQL Dinámico

SQL Dinámico se refiere a las sentencias SQL que se preparan y ejecutan en tiempo de ejecución. En SQL Dinámico, la preparación y la ejecución de un comando SQL son operaciones separadas. El SQL dinámico permite programar dentro de InterSystems IRIS de forma similar a una aplicación ODBC o JDBC (salvo que se ejecuta la sentencia SQL dentro del mismo contexto de proceso que el motor de base de datos). SQL dinámico se invoca desde un programa ObjectScript. Las consultas SQL dinámicas se preparan en tiempo de ejecución del programa, no en tiempo de compilación. 


3. Class Queries

Una class query o consulta de clase es una herramienta, contenida en una clase y diseñada para usarse con SQL dinámico, para buscar registros que cumplan criterios específicos. Con las consultas de clase, podéis crear búsquedas predefinidas para una aplicación. Por ejemplo, podéis buscar registros por nombre o proporcionar una lista de registros que cumplan un conjunto particular de condiciones, como todos los vuelos de París a Madrid.

Antes de pasar a la primera opción, creemos una clase persistente Demo.Person, que también extiende la clase %Populate para poder generar algunos datos de prueba.

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;
}

Ejecutad la siguiente sentencia SQL para comprobar los datos de la tabla después de compilar la clase anterior:

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


Ahora ejecutad el siguiente comando para rellenar 20 registros:

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

Volved a ejecutar la consulta SQL (SELECT):


Hemos creado la tabla y la hemos rellenado con algunos datos. En el próximo artículo, revisaremos SQL embebido.

Gracias

Comentarios (0)1
Inicie sesión o regístrese para continuar