Para ejecutar un archivo sql desde SQL Plus se pasa como comando la ruta del archivo precedida de un símbolo de arroba(@). Ejemplo:
SQL> @C:\scripts\InsertsBD.sql
SQL> @C:\scripts\InsertsBD.sql
ajaxEngine.sendRequest('loadData', 'paramName1=' + paramValue1, ..., 'paramNameN=' + paramValueN);Esto es válido cuando el número de parámetros es fijo. Pero en algunos casos, ese número de parámetros puede variar, por ejemplo si vamos a enviar los valores de un arreglo javascript (como los del post anterior). En tal caso, no resulta tan sencillo el llamado a dicho método. Pero la solución está aquí:
var queryS = "parteNombre="+parteNombre + "&incluir="+incluir; for (i = 0; i < roles.length; i++){ queryS += "&roles=" + roles[i]; } var opt = { method: 'post', postBody: queryS, onSuccess: function(t) { }, on404: function(t) { }, onFailure: function(t) { } }; ajaxEngine.sendRequest('loadData', opt);Primero se crea el queryString con todos los parámetros que queremos enviar y luego se le pasa dinámicamente esa variable al postBody. La verdad no entiendo muy bien cómo funciona, pero funciona. Visto en http://forum.openrico.org/topic/519
...ActualizarRoles?roles=1&roles=3&roles=4&roles=8
String [] roles = request.getParameterValues("roles");
public void processRequest(HttpServletRequest httpservletrequest, HttpServletResponse httpservletresponse) throws ServletException{ ... String referer = httpservletrequest.getHeader("referer"); ... }
CREATE SCHEMA nombredelesquema;
INSERT INTO empresa values('A & B')SQL*Plus intentará resolver lo que haya después del ampersand como si se tratara de una variable.
SET DEFINE OFF INSERT INTO empresa values('A & B')Opción 2:
INSERT INTO empresa values('A &'||' B')En la segunda opción cada ampersand que vayamos a insertar debe quedar al final de una cadena y luego concatenamos el resto de lo que queremos insertar.
decode( expression , search , result [, search , result]... [, default] )En los parámetros, expression es el valor que queremos comparar y cada par search-result, funciona como un if, es decir, IF search THEN result. Mejor escribo un ejemplo:
SELECT decode( codigo_empresa, 100, 'Yahoo!', 200, 'Google', 300, 'Sun') FROM empresa;Esto es como si hicieramos algo como:
if ( codigo_empresa == 100 ){ echo 'Yahoo!'; } else if( codigo_empresa == 200 ) { echo 'Google'; } else if( codigo_empresa == 300 ) { echo 'Sun'; }La función Sign nos devuelve un valor para indicar si un número es positivo, negativo o cero (0). Ejemplos:
SELECT sign(-5) from dual; -- Devuelve -1 SELECT sign(1000) from dual; -- Devuelve 1 SELECT sign(0) from dual; -- Devuelve 0 SELECT sign(0.0001) from dual; -- Devuelve 1Ahora, cómo usar juntas estas funciones para obtener un gran provecho? Supongamos que tenemos dos tablas con estructuras similares, donde manejamos unos valores para diario, semanal y mensual. En una de las tablas manejamos los detalles y en la otra manejamos los "topes" máximos que se van a obtener al consultar.
SELECT decode( sign( det.diario - tope.diario ), -1, det.diario, 0, det.diario, tope.diario ) AS diario decode( sign( det.semanal - tope.semanal ), -1, det.semanal, 0, det.semanal, tope.semanal ) AS semanal decode( sign( det.mensual - tope.mensual ), -1, det.mensual, 0, det.mensual, tope.mensual ) AS mensual FROM detalle det, tope;Este query nos va a traer el valor más bajo de las columnas diario, semanal y mensual entre la tabla Detalle y la tabla Tope.
response.setHeader("Cache-Control", "private"); response.setHeader("Pragma", null); response.setHeader("Expires", null);Y ahora sí funciona.