|
Esta macro permite al usuario ejecutar comandos SQL y devuelve el resultado a la variable "conjunto de datos". La estructura del "conjunto de datos" es una matriz (línea / columna).
El parámetro "conexión" es opcional. Se usa cuando el comando se ejecuta en una base de datos distinta de la especificada para la aplicación. Nota: El parámetro de conexión no acepta variable. Debe ingresar el nombre de la conexión que ejecutará el comando SQL.
Ej. 1: sc_lookup(dataset, "select customer_id, customer_name, credit_limit from customers" );
Para tener acceso a la primera línea (Dataset), use: {customer_id} = {dataset[0][0]}; {customer_name} = {dataset[0][1]}; {credit_limit } = {dataset[0][2]};
Para tener acceso a la segunda línea (Dataset), use: {customer_id} = {dataset[1][0]}; {customer_name} = {dataset[1][1]}; {credit_limit} = {dataset[1][2]};
Si ocurre un error en la ejecución del comando SQL, la variable atribuida al conjunto de datos volverá como "falso" y el mensaje de error estará disponible en la variable "dataset_erro". También es importante verificar los datos devueltos seleccionados, para evitar el acceso a variables inexistentes, una vez que la matriz de salida solo se creará si el comando select devuelve datos.
Ej. 2: sc_lookup(my_data, "select customer_id, customer_name, credit_limit from customers"); if ({my_data} === false) { echo "Access error. Message=". {my_data_erro} ; } elseif (empty({my_data})) { echo "Select command didn't return data"; } else { {customer_id} = {my_data[0][0]}; {customer_name} = {my_data[0][1]}; {credit_limit} = {my_data[0][2]}; }
Ej. 3: El comando SQL también puede estar compuesto de campos de aplicación (variables locales) o de variables globales: sc_lookup(dataset, "select order_value from orders where clienteid = '{customer_id} ' and salesman_id = [var_glo_salesman]");
Nota: El comando siempre debe terminar con punto y coma ";".
Nota 2: Para obtener un gran resultado devuelto en el conjunto de datos, recomendamos el uso de la macro sc_selec en lugar de esta.
|