Saltar al contenido

Funciones de base de datos en Jitterbit Design Studio

Las funciones de base de datos proporcionan acceso a actividades básicas de base de datos.

CacheLookup

Declaración

string CacheLookup(string databaseId, string sql)

Sintaxis

CacheLookup(<databaseId>, <sql>)

Parámetros requeridos

  • databaseId: Una cadena que representa la fuente de base de datos en el proyecto actual
  • sql: El comando SQL que se ejecutará contra la base de datos

Descripción

Esta función es la misma que DBLookup, excepto que la primera búsqueda almacena en caché la información y las búsquedas subsiguientes utilizan esta caché en lugar de consultar repetidamente la base de datos. La caché es válida durante la duración de la cadena de operación en la que se llama.

Si no se devuelven filas para la consulta especificada en sql, la función devuelve null.

La variable global de Jitterbit $jitterbit.scripting.db.rows_affected no se establece mediante este método.

La base de datos utilizada en esta llamada a la función debe estar definida como una fuente o un destino del proyecto actual. Consulte las instrucciones sobre inserción de elementos del proyecto.

Una alternativa a la caché es utilizar las funciones Set y Get.

Nota

Los puntos finales creados con esta función se incluyen en informe de uso de puntos finales y cuentan para su licencia.

Ejemplos

// Buscando en una base de datos usando una cadena SQL
CacheLookup("<TAG>Sources/myDBTarget</TAG>",
    "SELECT ORDER_TYPE FROM PO_HEADER WHERE PO_NUMBER=1");

CallStoredProcedure

Declaración

type CallStoredProcedure(string databaseId, string spName, type resultSet[, string inputOutputVariable,...])

Sintaxis

CallStoredProcedure(<databaseId>, <spName>, <resultSet>[, <inputOutputVariable>,...])

Parámetros requeridos

  • databaseId: Una cadena que representa la fuente de la base de datos en el proyecto actual
  • spName: El procedimiento almacenado que se ejecutará en el servidor de la base de datos
  • resultSet: Una variable global para almacenar el conjunto de resultados devuelto por el servidor de la base de datos, si corresponde. (Ver notas a continuación).

Parámetros opcionales

  • inputOutputVariable: Un parámetro de entrada o salida que se pasará al procedimiento almacenado; estos parámetros se añaden según lo requiera la firma del procedimiento almacenado

Descripción

Llama al procedimiento almacenado spName utilizando la información de conexión especificada por la fuente/destino identificada por databaseId.

Si corresponde, el resultSet devuelto es un arreglo bidimensional de cadenas. Si el procedimiento almacenado no devuelve un resultSet o si se utiliza un controlador ODBC, este argumento se ignora.

Nota

Con bases de datos de Microsoft SQL Server, esta función llama a procedimientos almacenados en el esquema de propietario de base de datos predeterminado (dbo) únicamente. Para llamar a procedimientos almacenados en otros esquemas, utiliza la función DBExecute.

Precaución

El parámetro resultSet es compatible solo con controladores de base de datos JDBC en este momento. Si se utiliza ODBC, el resultSet siempre devolverá null.

Los parámetros opcionales restantes se utilizan para pasar argumentos de entrada y salida al procedimiento almacenado. El número de argumentos requeridos depende de la firma del procedimiento almacenado.

Los argumentos de entrada pueden ser un valor codificado, el valor de una fuente o el valor de un cálculo o fórmula. Los argumentos de salida (incluido el resultSet) se especifican por referencia como "$name", donde "name" es el nombre de la variable global que contendrá el valor de salida. El valor de retorno y el tipo de la función son el valor de retorno y el tipo del procedimiento almacenado.

Importante

Al usar la función CallStoredProcedure en bases de datos que utilizan los controladores JDBC de Oracle o Microsoft SQL Server, puede lanzarse un error String index out of range: -1 con procedimientos almacenados que no utilizan parámetros inputOutputVariable.

Si se encuentra con este problema, considere usar DBExecute para ejecutar el procedimiento almacenado como una solución alternativa:

$sql = "BEGIN
MyStoredProcedure;
END;";

$result = DBExecute("<TAG>Sources/Oracle</TAG>",$sql);

La base de datos utilizada en esta llamada a función debe estar definida como una fuente o un destino del proyecto actual. Consulte las instrucciones sobre inserción de elementos del proyecto.

Nota

Los puntos finales creados con esta función se incluyen en informe de uso de puntos finales y cuentan para su licencia.

Examples

Example 1: Calling a stored procedure with no result set

// Calls a stored procedure "MyStoredProcedure",
// which takes one input variable, one output variable,
// and ignores the result set.
// "Input" is the name of the source global variable
// that provides the input and
// "output" is the name of the global variable
// used to store the output:

CallStoredProcedure("<TAG>Sources/myDBTarget</TAG>",
  "MyStoredProcedure", 0, Input, $output);

// The value of the output parameter can be accessed
// by using either $output or Get("output")

Example 2: Calling a stored procedure with a result set

// Calls a stored procedure "GetValues",
// which takes two input variables and returns a result set.
// The result set is returned as the two-dimensional array $result.
// The result can be accessed by using either $result or Get("result"):

CallStoredProcedure("<TAG>Sources/myDBTarget</TAG>", "GetValues", $result, Input1, Input2);

Example 3: Calling a stored procedure that accesses an Oracle object type

Using Oracle object and record types

Jitterbit admite tipos de objeto de Oracle para trabajar con bases de datos de Oracle al usar el controlador JDBC de Oracle. Los tipos de objeto de Oracle son similares a los tipos de registro de Oracle, que no son compatibles con Jitterbit debido a la falta de soporte por parte de Oracle.

Advertencia

Para usar tipos de objeto de Oracle, debe usar el controlador JDBC de Oracle. El controlador ODBC de Oracle no admite ni tipos de objeto de Oracle ni tipos de registro de Oracle.

Para acceder a los tipos de registro de Oracle utilizando el controlador JDBC de Oracle, puede crear un procedimiento almacenado "wrapper" en su base de datos de Oracle que pueda acceder y convertir un tipo de registro de Oracle. Luego, use la función CallStoredProcedure en Jitterbit para llamar al procedimiento wrapper y hacer que realice la conversión hacia y desde un tipo de objeto de Oracle.

Consejo

Más información sobre las diferencias entre los Tipos de Registro de Oracle y los Tipos de Objeto de Oracle se puede encontrar en la documentación de Oracle. Consulte Declaración de Variable de Registro y Uso de PL/SQL con Tipos de Objeto de la documentación de Oracle Database Release 18 para más información.

El ejemplo que sigue describe cómo se pueden usar Objetos de Oracle en una función CallStoredProcedure de manera simplificada.

Definiciones de tipo de Oracle

Una definición de Tipo de Objeto de Oracle sigue este patrón:

Tipo de Objeto de Oracle (Compatible)
CREATE OR REPLACE TYPE example_customer_details AS OBJECT
(status NUMBER
,party_id NUMBER
,account_id VARCHAR
);

Una definición de Tipo de Registro de Oracle sigue este patrón:

Tipo de Registro de Oracle (No Compatible)
CREATE TYPE example_customer_details IS RECORD
(status NUMBER
,party_id NUMBER
,account_id VARCHAR
);
Pasos del ejemplo

Paso 1: Crear el Objeto
Para usar Tipos de Objeto de Oracle, primero crea el objeto en la base de datos de Oracle:

Crear Objeto
CREATE OR REPLACE TYPE example_customer_details AS OBJECT
(status                    NUMBER
,party_id                  NUMBER
,account_id                VARCHAR
);

Paso 2: Crear el Paquete
A continuación, crea el paquete como una función en la base de datos de Oracle:

Crear Paquete
CREATE OR REPLACE PACKAGE example AS
  FUNCTION processcustomer(custin IN example_customer_details, new_account_number IN VARCHAR) RETURN example_customer_details;
END example;

Paso 3: Crear el Cuerpo del Paquete
A continuación, crea el cuerpo del paquete como una función en la base de datos de Oracle:

Crear Cuerpo del Paquete
CREATE OR REPLACE PACKAGE BODY example AS
FUNCTION processcustomer(custin IN example_customer_details, new_account_number IN varchar) RETURN example_customer_details
  IS
  custout example_customer_details;
  BEGIN
     custout := example_customer_details(
     custin.status + 1,
     custin.party_id,
     new_account_number
     );
     return custout;
END;
END example;

Paso 4: Llamar al Procedimiento Almacenado en Jitterbit
Ahora estás listo para llamar al procedimiento almacenado processcustomer desde Jitterbit utilizando la función CallStoredProcedure. Este script de ejemplo muestra cómo pasar un objeto a la función CallStoredProcedure. También puedes pasar objetos desde un procedimiento almacenado como parámetros de retorno o de salida de manera similar.

Crear Script de Jitterbit
<trans>
$cust = dict();
$cust["status"] = 1;
$cust["party_id"] = 10;
$cust["account_id"] = "2341";

$custout = CallStoredProcedure("<TAG>Sources/OracleDatabase</TAG>",
    "EXAMPLE.PROCESSCUSTOMER", "", $cust,"NA0233");

$result = "Status: " + $custout["STATUS"] +
  "  Party ID: " + $custout["PARTY_ID"] +
  "  Account ID:  " + $custout["ACCOUNT_ID"];

WriteToOperationLog("Resulting object: " + $result);
</trans>

Nota

En el ejemplo, la función processcustomer en Oracle espera dos parámetros: el objeto personalizado (example_customer_details) y un VARCHAR (new_account_number). En el ejemplo anterior, el diccionario $cust representa el objeto personalizado, y NA0233 representa el VARCHAR.

Precaución

En la salida, los nombres de las propiedades del tipo de dato son sensibles a mayúsculas y, por lo tanto, están en mayúsculas. Para los objetos de entrada, los nombres de las propiedades no son sensibles a mayúsculas.

DBCloseConnection

Declaración

void DBCloseConnection(string databaseId)

Sintaxis

DBCloseConnection(<databaseId>)

Parámetros requeridos

  • databaseId: Una cadena de fuente de base de datos en el proyecto actual

Descripción

Confirma la transacción actual y cierra la conexión a la base de datos.

La base de datos utilizada en esta llamada a función debe estar definida como una fuente o un destino del proyecto actual. Consulte las instrucciones sobre inserción de elementos del proyecto.

Nota

Los puntos finales creados con esta función se incluyen en informes de uso de puntos finales y cuentan para su licencia.

Ejemplos

// Cerrando una conexión a la base de datos
DBCloseConnection("<TAG>Sources/myDBTarget</TAG>");

DBExecute

Declaración

array DBExecute(string databaseId, string sql)

int DBExecute(string databaseId, string sql, string outputVariable,...)

Sintaxis

DBExecute(<databaseId>, <sql>)

DBExecute(<databaseId>, <sql>, <outputVariable>,...)

Parámetros requeridos

  • databaseId: Una cadena de fuente de base de datos en el proyecto actual
  • sql: El comando SQL que se ejecutará contra la base de datos
  • outputVariable: (Segunda forma) Un parámetro de salida que se corresponde con los campos devueltos en el comando SQL. Se pueden especificar argumentos adicionales según sea necesario.

Descripción

Ejecuta una declaración SQL en una base de datos y devuelve los resultados.

Si la declaración SQL produce un conjunto de resultados, hay dos formas de recuperar los datos:

  • Si solo se especifican los dos parámetros requeridos (primera forma), la función devolverá el conjunto completo de registros como un arreglo de filas.

    Luego se puede usar un bucle While() para iterar sobre las filas y usar Get() para recuperar los datos. Si no se devuelven filas, el método devuelve un arreglo vacío (Length($arr) == 0).

  • Si se especifican variables de salida además de los dos parámetros requeridos (segunda forma), se devuelven los valores de los campos de la primera fila.

    Pasa los nombres de las variables globales entre comillas como parámetros después de los dos primeros parámetros. El valor del primer campo de la primera fila se escribirá en la variable global pasada como el tercer parámetro, el segundo campo de la primera fila al cuarto parámetro, y así sucesivamente. Alternativamente, las variables globales se pueden pasar por referencia precediéndolas con un signo $ , como $output.

    El valor de retorno en este caso es el número de registros devueltos; ya sea 1 (si se encontraron registros) o 0 (si no se devolvió ninguno).

Los valores de datos devueltos son siempre cadenas. Los datos binarios se devuelven como su representación en cadena hexadecimal.

La base de datos utilizada en esta llamada de función debe estar definida como una fuente o un destino del proyecto actual. Consulta las instrucciones sobre inserción de elementos del proyecto.

Nota

Los puntos finales creados con esta función se incluyen en informe de uso de puntos finales y cuentan para tu licencia.

Variables Relacionadas de Jitterbit

  • Si este método se completa con éxito, $jitterbit.scripting.db.rows_affected contendrá el número de filas afectadas por la consulta.
  • Si se utiliza un controlador JDBC para conectarse a una base de datos, establezca jitterbit.scripting.db.search.rowset en true antes de la función para que cualquier llamada a un procedimiento almacenado que devuelva múltiples resultados retorne el primer conjunto de registros no vacío en lugar de devolver un conjunto vacío.
  • Para ejecutar la declaración en una transacción, establezca las variables $jitterbit.scripting.db.auto_commit=false y $jitterbit.scripting.db.transaction=true en un script antes de la llamada. La transacción se confirmará al final de una transformación exitosa. Establecer ambas variables (auto_commit y transaction) en true resultará en un error.
  • Establezca $jitterbit.scripting.db.max_rows para limitar el número de registros a devolver. El valor predeterminado es 10,000 filas.

Ejemplos

Ejemplo 1: Ejecutando y recuperando valores en un arreglo

// Results of the SQL select as an array
rows = DBExecute("<TAG>Sources/myDBTarget</TAG>",
    "SELECT ORDER_TYPE, ORDER_AMOUNT FROM PO_HEADER WHERE PO_NUMBER = 1");

// The value of the database column ORDER_TYPE can then be accessed with
// Get($rows, $i, 0) where $i is the 0-based count of the row you want retrieved.

Ejemplo 2: Ejecutando y recuperando valores en variables globales referenciadas pasadas

// Results of the SQL select will be in the $custName and $custAddr global variables:
DBExecute("<TAG>Sources/myDBTarget</TAG>",
    "SELECT CustomerName, CustomerAddress FROM Customers WHERE CustomerId = " + $custId,
    $custName,
    $custAddr);

// The value of the database column CustomerName can then
// be accessed with either Get("custName") or $custName.

Ejemplo 3: Ejecutando y recuperando valores en variables globales nombradas pasadas

// Results of the SQL select will be in the OrderType and OrderAmount global variables:
DBExecute("<TAG>Sources/myDBTarget</TAG>",
    "SELECT ORDER_TYPE, ORDER_AMOUNT FROM PO_HEADER WHERE PO_NUMBER = 1",
    "OrderType", "OrderAmount");

// The value of the database column ORDER_TYPE can then
// be accessed with either Get("OrderType") or $OrderType.

DBLoad

Declaración

void DBLoad(string source, string target, int mode, string tablename, string columnNames[, string columnKeynames, int skipLines, string dateFormat, string datetimeFormat])

Sintaxis

DBLoad(<source>, <target>, <mode>, <tablename>, <columnNames>[, <columnKeynames>, <skipLines>, <dateFormat>, <datetimeFormat>])

Parámetros requeridos

  • source: Una cadena de origen en el proyecto actual que es un solo archivo en formato CSV
  • target: Una cadena de destino de base de datos en el proyecto actual
  • mode: Un entero; uno de 1 (upsert), 2 (insertar) o 3 (actualizar)
  • tablename: La tabla en la base de datos de destino
  • columnNames: Una lista de nombres de columnas delimitada por comas
  • columnKeynames: Una lista de nombres de columnas delimitada por comas que forman la clave de actualización. Requerido si el modo no es 2.

Parámetros opcionales

  • skipLines: Número de líneas a ignorar al principio del archivo (se utiliza para omitir encabezados)
  • dateFormat: Especifica el formato de los campos de fecha, como "Date" en bases de datos Oracle
  • datetimeFormat: Especifica el formato de los campos de fecha y hora, como "TimeStamp" en bases de datos Oracle

Descripción

Toma un origen (un solo archivo en formato CSV) y carga los datos en una tabla especificada en una base de datos de destino.

El parámetro columnKeynames no se utiliza cuando solo se inserta (mode=2) y puede omitirse en ese caso.

Origen

El origen utilizado en esta llamada a función debe definirse como un origen de archivo del proyecto actual. Se utilizará el primer archivo devuelto de ese origen. Consulte las instrucciones sobre inserción de elementos del proyecto.

Advertencia

La función DBLoad() solo funciona en destinos de base de datos JDBC.

Nota

Los puntos finales creados con esta función se incluyen en informe de uso de puntos finales y cuentan para su licencia.

Ejemplos

// Using the file returned from the source "MyCSVData",
// this example upserts (mode=1) into the table "MyTable"
// on the Database target "SQL Server JDBC". "MyCSVData"
// is expected to be a CSV file that contains data for
// the columns "ID,Col1,Col2,Col3". The update key (used
// to decide whether to update or insert) will be on the
// column "ID". The first line of the CSV file will be
// ignored as it is a header:

DBLoad("<TAG>Sources/MyCSVData</TAG>",
    "<TAG>Targets/SQL Server JDBC</TAG>", 1,
    "MyTable", "ID,Col1,Col2,Col3", "ID", 1);

DBLookup

Declaración

string DBLookup(string databaseId, string sql)

Sintaxis

DBLookup(<databaseId>, <sql>)

Parámetros requeridos

  • databaseId: Una cadena que representa la fuente de la base de datos en el proyecto actual
  • sql: El comando SQL que se ejecutará contra la base de datos

Descripción

Ejecuta una declaración SQL en una base de datos y devuelve el primer campo del primer resultado que coincide con los criterios especificados.

El valor de datos devuelto es siempre una cadena. Los datos binarios se devuelven como su representación en cadena hexadecimal. Si no se devuelven filas para la consulta especificada, la función devuelve null.

La variable global de Jitterbit $jitterbit.scripting.db.rows_affected no se establece mediante este método.

Para consultas más avanzadas, donde se desea recuperar más de un valor o fila, utilice las funciones DBLookupAll o DBExecute.

ID de la base de datos

La base de datos utilizada en esta llamada a la función debe estar definida como una fuente o un destino del proyecto actual. Consulte las instrucciones sobre inserción de elementos del proyecto.

Nota

Los puntos finales creados con esta función se incluyen en informe de uso de puntos finales y cuentan para su licencia.

Ejemplos

// Returns the first field of the first result from
// running the SQL query
result = DBLookup("<TAG>Sources/myDBTarget</TAG>",
    "SELECT ORDER_TYPE FROM PO_HEADER WHERE PO_NUMBER=1");

DBLookupAll

Declaración

array DBLookupAll(string databaseId, string sql)

Sintaxis

DBLookupAll(<databaseId>, <sql>)

Parámetros requeridos

  • databaseId: Una cadena que representa la fuente de la base de datos en el proyecto actual
  • sql: El comando SQL que se ejecutará contra la base de datos

Descripción

Ejecuta una declaración SQL en una base de datos y devuelve los resultados que coinciden con los criterios especificados.

Los datos devueltos se presentan siempre como un arreglo bidimensional de cadenas. Los datos binarios se devuelven como su representación en cadena hexadecimal. Si no se devuelven filas para la consulta especificada, la función devuelve un arreglo vacío.

La variable global de Jitterbit $jitterbit.scripting.db.rows_affected no está establecida por este método.

La base de datos utilizada en esta llamada a función debe definirse como una fuente o un destino del proyecto actual. Consulte las instrucciones sobre inserción de elementos del proyecto.

Para consultas más avanzadas, donde se desea recuperar directamente en variables globales, utilice la función DBExecute.

Nota

Los puntos finales creados con esta función se incluyen en informe de uso de puntos finales y cuentan para su licencia.

Ejemplos

// Devuelve el resultado de ejecutar la consulta SQL
result = DBLookupAll("<TAG>Sources/myDBTarget</TAG>",
    "SELECT ORDER_TYPE FROM PO_HEADER WHERE PO_NUMBER=1");

DBRollbackTransaction

Declaración

void DBRollbackTransaction(string databaseId)

Sintaxis

DBRollbackTransaction(<databaseId>)

Parámetros requeridos

  • databaseId: Una cadena de texto que representa la fuente de base de datos en el proyecto actual

Descripción

Revierte la transacción actual y cierra la conexión a la base de datos.

La base de datos utilizada en esta llamada a función debe definirse como una fuente o un destino del proyecto actual. Consulte las instrucciones sobre inserción de elementos del proyecto.

Nota

Los puntos finales creados con esta función se incluyen en informe de uso de puntos finales y cuentan para su licencia.

Ejemplos

// Revierte la transacción actual
DBRollbackTransaction("<TAG>Sources/myDBTarget</TAG>");

DBWrite

Declaración

void DBWrite(string source, string target, int mode, string tablename, string columnNames[, string columnKeynames, int skipLines, string dateFormat, string datetimeFormat])

Sintaxis

DBWrite(<source>, <target>, <mode>, <tablename>, <columnNames>[, <columnKeynames>, <skipLines>, <dateFormat>, <datetimeFormat>])

Descripción

Un alias para la función DBLoad. Consulta DBLoad para más detalles.

Nota

Los endpoints creados con esta función se incluyen en informes de uso de endpoints y cuentan para tu licencia.

SetDBInsert

Declaración

void SetDBInsert()

Sintaxis

SetDBInsert()

Descripción

Sobrescribe la configuración actual del modo de inserción/actualización a "insertar" para el registro actual. El valor de retorno es nulo.

Ejemplos

// Establece el modo de inserción/actualización a "insertar"
// para el registro actual
SetDBInsert();

SetDBUpdate

Declaración

void SetDBUpdate()

Sintaxis

SetDBUpdate()

Descripción

Sobrescribe la configuración actual del modo de inserción/actualización a "actualizar" para el registro actual. El valor de retorno es nulo.

Ejemplos

// Establece el modo de inserción/actualización a "actualizar"
// para el registro actual
SetDBUpdate();

SQLEscape

Declaración

string SQLEscape(string unescapedSQL[, bool escapeBackslash])

Sintaxis

SQLEscape(<unescapedSQL>[, <escapeBackslash>])

Parámetros requeridos

  • unescapedSQL: Una cadena de SQL que debe ser escapada

Parámetros opcionales

  • escapeBackslash: Bandera booleana que indica si las barras invertidas ("\") deben ser escapadas duplicándolas; el valor predeterminado es false

Descripción

Realiza el escape necesario de cadenas literales utilizadas en una declaración SQL.

Las cadenas utilizadas como constantes de carácter en una declaración SQL utilizan una comilla simple (') como delimitador; si los datos reales contienen comillas simples, deben ser escapadas especificándolas dos veces. Este método escapa las comillas simples siguiendo el estándar SQL reemplazando cada comilla simple (') con dos comillas simples (''). Si los caracteres de barra invertida también deben ser escapados, proporciona y establece el segundo parámetro en true.

Ejemplos

// In this example, the variable GUID needs to have
// any single quotes in it escaped (doubled); the
// resulting string is then enclosed in single quotes
// by the Quote function before being used in a
// DBLookup function:


DBLookup("<TAG>Sources/myDBTarget</TAG>",
    "SELECT ORDER_TYPE FROM PO_HEADER WHERE PO_ID=" +
    Quote(SQLEscape(GUID)));

Unmap

Declaración

void Unmap()

Sintaxis

Unmap()

Descripción

Para su uso en mapeos, esta función establece un campo de destino de base de datos para ser tratado como no mapeado. El valor de retorno es nulo.

Ejemplos

valueToInsert = DBLookup(....);
// If valueToInsert returned by a DBLookup is null, we want to treat
// this field as unmapped and we do not want to include it in the INSERT statement
// that is being generated for the DB target for this record:
If (valueToInsert == Null(), Unmap(), valueToInsert);

<SEQUENCE>

Declaración

<SEQUENCE>

Sintaxis

<SEQUENCE>

Descripción

Para su uso en mapeos con bases de datos Oracle, esta función se utiliza cuando el destino contiene tablas que están vinculadas con una relación de clave primaria/clave foránea. En ese caso, mapea esto a las claves primarias que son generadas por la base de datos Oracle.

Para bases de datos que no sean Oracle, utiliza la función <SQLIDENTITY> en su lugar.

Nota

En la sintaxis de esta función, los símbolos de menor que ("<") y mayor que (">") son parte de la sintaxis de la función.

Ejemplos

Si hay etiquetas <trans>, <SEQUENCE> debe colocarse fuera de ellas de la siguiente manera:

<trans>
</trans>
<SEQUENCE>

<SQLIDENTITY>

Declaración

<SQLIDENTITY>

Sintaxis

<SQLIDENTITY>

Descripción

Para su uso en mapeos con bases de datos que no son Oracle, esta función se utiliza cuando el destino contiene tablas que están vinculadas con una relación de clave primaria/clave foránea. En ese caso, mapea esto a las claves primarias que son generadas por la base de datos, como Identity en SQL Server o Serial en PostgreSQL. Para bases de datos Oracle, utiliza la función <SEQUENCE> en su lugar.

Nota

En la sintaxis de esta función, los símbolos de menor que ("<") y mayor que (">") son parte de la sintaxis de la función.

Ejemplos

Si hay etiquetas <trans>, <SQLIDENTITY> debe colocarse fuera de ellas de la siguiente manera:

<trans>
</trans>
<SQLIDENTITY>

<UDF>

Declaración

<UDF>string userDefinedFunction

Sintaxis

<UDF><userDefinedFunction>

Parámetros requeridos

  • userDefinedFunction: Una cadena que define una llamada a una función definida por el usuario

Descripción

Agrega una función de base de datos definida por el usuario al principio de una fórmula. El prefijo <UDF> se elimina de la expresión antes de ser pasada. Ten en cuenta que se pueden usar etiquetas <trans> de apertura y cierre para indicar partes de la llamada a la función que deben ser evaluadas por Jitterbit antes de que la expresión sea pasada a una base de datos.

Nota

En la sintaxis de esta función, los símbolos de menor que ("<") y mayor que (">") alrededor de <UDF> son parte de la sintaxis de la función.

Ejemplos

// The user-defined function geography::Point()
// is being called with parameters created by evaluating
// the Jitterbit Script enclosed by <trans> tags:

<UDF>geography::Point(<trans>json$Incidents$item.Latitude$ + ","
  + json$Incidents$item.Longitude$ + ",4326";</trans>)