Altova MapForce 2024 Professional Edition

MapForce permite crear instrucciones SELECT personalizadas de SQL con o sin parámetros. Estas instrucciones se muestran como estructuras tipo tabla de las que se pueden asignar datos a otros componentes. Por ejemplo, puede crear una instrucción personalizada para combinar tablas, filtrar su datos de la BD y definir parámetros que pueden aceptar valores de otros componentes de la asignación.

 

Las instrucciones SQL SELECT sin parámetros son compatibles con los lenguajes C++, C#, Java y BUILT-IN. Las instrucciones SQL SELECT con parámetros de entrada solo son compatibles con el lenguaje de transformación BUILT-IN.

 

Crear/Editar/Quitar una instrucción SELECT

Para agregar una instrucción SELECT a un componente de BD, siga las instrucciones siguientes:

 

1.Haga clic con el botón derecho en el encabezado del componente de BD y seleccione Agregar/Editar/Quitar objetos de BD en el menú contextual. También puede seleccionar el componente de BD y seleccionar el comando Componente | Agregar/Editar/Quitar objetos de BD.

2.En el cuadro de diálogo Agregar/Editar/Quitar objetos de BD, escoja una de las siguientes opciones:

 

oPara introducir una instrucción SELECT personalizada, haga clic en el botón Agregar/Editar instrucciones SELECT.

oPara generar una instrucción SELECT para una tabla particular, haga clic con el botón derecho en la tabla relevante y seleccione Generar y agregar una instrucción SELECT del menú contextual. Podrá editar la instrucción generada más adelante.

 

Para editar una instrucción SELECT que ya existe, escoja una de las siguientes opciones:

 

Haga clic con el botón derecho en la instrucción SELECT en el componente y seleccione Editar instrucciones SELECT.

Haga clic con el botón derecho en el componente de BD y seleccione Agregar/Editar/Quitar objetos de BD en el menú contextual. Después, haga doble clic en la instrucción SELECT en cuestión en el cuadro de diálogo Agregar/Editar/Quitar objetos de BD.

En el cuadro de diálogo Agregar/Editar/Quitar objetos de BD, seleccione la instrucción SELECT en cuestión y haga clic en Agregar/Editar instrucciones SELECT.

En el cuadro de diálogo Agregar/Editar/Quitar objetos de BD, haga clic con el botón derecho en la instrucción SELECT en cuestión y seleccione Editar una instrucción SELECT.

 

Para quitar una instrucción SELECT, siga los pasos siguientes:

 

1.Haga clic con el botón derecho en el componente de BD y seleccione Agregar/Editar/Quitar objetos de BD.

2.Haga clic con el botón derecho en la instrucción SELECT que quiere eliminar y seleccione Quitar instrucciones SELECT en el menú contextual.

 

Importante:

Tenga en cuenta que:

 

Todas las expresiones en la instrucción SELECT deben tener un nombre de correlación único (p.ej., SELECT *, (Quantity*UnitPrice) AS Price) para que se puedan usar en una asignación.

Si se conecta a una base de datos Oracle o IBM DB2 con JDBC, la instrucción SELECT no puede tener un punto y coma al final.

 

Instrucciones SELECT de SQL sin parámetros

En el ejemplo que se puede ver a continuación, mostramos cómo trabajar con instrucciones SELECT personalizadas sin parámetros. En la asignación de datos que se puede ver a continuación, asignamos datos de BD a un archivo de texto. La base de datos BookCatalog.sqlite tiene una tabla principal llamada Authors y una tabla secundaria llamada Books. Sin embargo, solo la instrucción SELECT con estructura jerárquica se mostrará en el componente. La estructura de la jerarquía depende de la consulta SQL que se define en el cuadro de diálogo Introducir una instrucción SQL SELECT. Las tablas Authors y Books no están en el componente porque no se asignan datos de estas mismas.

MF_SELECT01

Instrucción SELECT

Para el componente de BD, hemos añadido la siguiente instrucción SELECT (consulte las instrucciones en el apartado Crear/Editar/Quitar una instrucción SELECT):

MF_SELECT02

La instrucción SQL selecciona todas las tablas de la tabla Authors y filtra los datos de BD para incluir solo autores y autoras del Reino Unido. Cuando se agregue esta instrucción al cuadro de diálogo Introducir una instrucción SQL SELECT, esta estará disponible en el cuadro de diálogo Agregar/Editar/Quitar objetos de BD (ver imagen siguiente). También se puede ver la instrucción en el componente de BD (ver la asignación anterior). La cantidad de líneas visibles de las instrucciones SELECT se puede configurar en el cuadro de diálogo Opciones (en la opción Limitar vista de anotaciones).

MF_SELECT03

Resultados

Los resultados muestran una lista de valores separados por comas que incluyen autores y autoras del Reino Unido (véase el extracto de código más abajo).

 

Autor/a, País, Página web

Bram Stoker,UK,www.bramstoker.org

Charles Dickens,UK,www.charlesdickensinfo.com

Emily Brontë,UK,n/a

James Herbert,UK,www.james-herbert.co.uk

Neil Gaiman,UK,www.neilgaiman.com

Terry Pratchett,UK,www.terrypratchettbooks.com

Agatha Christie,UK,www.agathachristie.com

Roald Dahl,UK,www.roalddahlfans.com

David Walliams,UK,www.worldofdavidwalliams.com

Kenneth Grahame,UK,n/a

Philip Pullman,UK,www.philip-pullman.com

J.K. Rowling,UK,www.jkrowling.com

Ann Cleeves,UK,www.anncleeves.com

 

Instrucciones SELECT de SQL con parámetros

Nuestro segundo ejemplo ilustra una asignación en la que el componente de BD incluye una instrucción SELECT personalizada con un parámetro (ver imagen siguiente).

MF_SELECT04

Instrucción SELECT

Para el componente BookCatalog, hemos añadido la siguiente instrucción SQL:

MF_SELECT05

La instrucción usa el parámetro Country. Este parámetro aceptará valores de la constante (bajo el componente BookCatalog). Para poder asignar datos de la instrucción SELECT con el parámetro, haga clic en el botónselectSprocButton junto al nodo SELECT_Statement en el componente de BD (ver asignación anterior) y seleccione Insertar llamada con parámetros del menú contextual. De esta manera se inserta un componente de llamada con parámetros (el componente central de la asignación anterior). El componente de llamada tiene dos partes: La parte izquierda acepta parámetros de entrada (en nuestro caso, Country), y la parte derecha replica la instrucción SELECT con la estructura jerárquica del componente de BD. Después, los datos filtrados se asignan al archivo de texto Authors.

 

Resultados

Ahora, los resultados muestran autores y autoras de EEUU (ver el extracto de código a continuación).

 

Autor/a, País, Página web

Stephen King,US,www.stephenking.com

Frank Herbert,US,n/a

Isaac Asimov,US,www.asimovonline.com

Blake Crouch,US,www.blakecrouch.com

Ray Bradbury,US,www.raybradbury.com

Joe Hill,US,www.joehillfiction.com

Josh Malerman,US,www.joshmalerman.com

George R. R. Martin,US,www.georgerrmartin.com

A. J. Finn,US,n/a

Dan Brown,US,www.danbrown.com

Dean Koontz,US,www.deankoontz.com

 

Archivos de ejemplo

Para más información sobre asignaciones de datos que usan instrucciones SQL SELECT como entrada, consulte los siguientes ejemplos en la carpeta MapForceExamples:

 

DB_EmployeeListByTitle.mfd

DB_MostExpensiveArticle.mfd

DB_ManagerList_AllOffices.mfd

DB_ManagerList_SelectedDepartment.mfd

DB_ManagerList_SelectedOffice.mfd

 

© 2017-2023 Altova GmbH