que llevas hecho?, alguna duda sobre el codigo para tu trigger? o solo esperas que te den el codigo ya listo?
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menú
select v.codven,
v.nombre,
count(f.cliente)
from vendedores v, facturas f
where v.codven = f.VENDEDOR
group by v.codven
declaRE
VAR VARCHAR2(100);
ULT_SEQ NUMBER;
BEGIN
VAR:=
'SELECT GENERAL.GOREMAL_SURROGATE_ID_SEQUENCE.NEXTVAL FROM DUAL';
DBMS_OUTPUT.PUT_LINE(VAR);
EXECUTE IMMEDIATE VAR into ULT_SEQ;
DBMS_OUTPUT.PUT_LINE(ULT_SEQ);
END;
declaRE
VAR VARCHAR2(100);
ULT_SEQ NUMBER;
BEGIN
VAR:=
'SELECT GENERAL.GOREMAL_SURROGATE_ID_SEQUENCE.NEXTVAL INTO ULT_SEQ FROM DUAL';
DBMS_OUTPUT.PUT_LINE(VAR);
--EXECUTE IMMEDIATE (VAR);
DBMS_OUTPUT.PUT_LINE(ULT_SEQ);
END;
ORA-00905: falta una palabra clave
ORA-06512: en línea 9
CREATE OR REPLACE PROCEDURE SP_SEQ_TEST
AS
NOM_SEQ VARCHAR2(100);
ULT_SEQ NUMBER;
VAL_SEQ NUMBER;
NEXT_SEQ NUMBER;
VAR_EXEC VARCHAR2(200);
CURSOR C_SEQ IS
SELECT seQuence_name, LAST_NUMBER
from all_sequenceS
where sequence_name like '%SPRIDEN_SURROGATE%'
or sequence_name like '%GTVZIPC_SURROGATE%'
or sequence_name like '%STVCNTY_SURROGATE%'
or sequence_name like '%SPRADDR_SURROGATE%'
or sequence_name like '%SPRTELE_SURROGATE%'
or sequence_name like '%SPBPERS_SURROGATE%'
or sequence_name like '%GOREMAL_SURROGATE%'
or sequence_name like '%SPREMRG_SURROGATE%'
or sequence_name like '%GOBINTL_SURROGATE%'
or sequence_name like '%SPRMEDI_SURROGATE%'
or sequence_name like '%SPRHOLD_SURROGATE%'
or sequence_name like '%SORFOLK_SURROGATE%'
or sequence_name like '%SGBSTDN_SURROGATE%'
or sequence_name like '%SGRSATT_SURROGATE%'
or sequence_name like '%SGRSCMT_SURROGATE%'
or sequence_name like '%SGRCHRT_SURROGATE%'
or sequence_name like '%SIBINST_SURROGATE%'
or sequence_name like '%SGRADVR_SURROGATE%'
or sequence_name like '%SHRTTRM_SURROGATE%'
or sequence_name like '%SHRTCKN_SURROGATE%'
or sequence_name like '%SHRTCKG_SURROGATE%'
or sequence_name like '%SHRTCKL_SURROGATE%'
or sequence_name like '%SARADAP_SURROGATE%'
or sequence_name like '%SARAPPD_SURROGATE%'
or sequence_name like '%SORHSCH_SURROGATE%'
or sequence_name like '%SYRCRMI_SURROGATE%'
or sequence_name like '%TBRACCD_SURROGATE%'
or sequence_name like '%STVSBGI_SURROGATE%'
or sequence_name like '%SORBTAG_SURROGATE%'
or sequence_name like '%SORBTAL_SURROGATE%'
or sequence_name like '%SHRTGRD_SURROGATE%'
or sequence_name like '%SHBTATC_SURROGATE%'
or sequence_name like '%SHRTATC_SURROGATE%'
or sequence_name like '%SORBDMO_SURROGATE%'
or sequence_name like '%SOBSBGI_SURROGATE%'
or sequence_name like '%STVBCHR_SURROGATE%'
or sequence_name like '%SORBCHR_SURROGATE%'
or sequence_name like '%SORBCMT_SURROGATE%'
or sequence_name like '%SORTEST_SURROGATE%'
or sequence_name like '%STVCIPC_SURROGATE%'
or sequence_name like '%STVTESC_SURROGATE%'
or sequence_name like '%STVTSRC_SURROGATE%'
or sequence_name like '%SSBSECT_SURROGATE%'
or sequence_name like '%SSRLINK_SURROGATE%'
or sequence_name like '%SSBXLST_SURROGATE%'
or sequence_name like '%SSRXLST_SURROGATE%'
or sequence_name like '%SSRMEET_SURROGATE%'
or sequence_name like '%SIRASGN_SURROGATE%'
or sequence_name like '%SFBETRM_SURROGATE%'
or sequence_name like '%SFRSTCR_SURROGATE%'
or sequence_name like '%SGRSATT_SURROGATE%'
or sequence_name like '%TBRMEMO_SURROGATE%'
or sequence_name like '%SARCHKL_SURROGATE%'
or sequence_name like '%SPRHOLD_SURROGATE%'
or sequence_name like '%SGRSCMT_SURROGATE%'
or sequence_name like '%SHRMRKS_SURROGATE%'
or sequence_name like '%SHRMRKA_SURROGATE%'
or sequence_name like '%SMBSLIB_SURROGATE%'
or sequence_name like '%SMRSWAV_SURROGATE%'
or sequence_name like '%SMRSWPV_SURROGATE%'
or sequence_name like '%SHRDGMR_SURROGATE%'
and sequence_owner ='SATURN';
V_CUR C_SEQ%ROWTYPE;
BEGIN
OPEN C_SEQ;
LOOP
FETCH C_SEQ INTO V_CUR;
EXIT WHEN C_SEQ%NOTFOUND;
VAR_EXEC:= 'SELECT SATURN.'||V_CUR.SEQUENCE_NAME||'.NEXTVAL INTO '||ULT_SEQ||' FROM DUAL';
EXECUTE IMMEDIATE (VAR_EXEC) ; -- esta es la linea 87
VAL_SEQ := V_CUR.LAST_NUMBER - ULT_SEQ;
IF VAL_SEQ > 0 THEN
VAR_EXEC :='ALTER SEQUENCE SATURN.'||V_CUR.SEQUENCE_NAME
||' INCREMENT BY '||VAL_SEQ;
EXECUTE IMMEDIATE (VAR_EXEC);
VAR_EXEC := 'SELECT SATURN.'||V_CUR.SEQUENCE_NAME||'.NEXTVAL FROM DUAL';
EXECUTE IMMEDIATE (VAR_EXEC);
VAR_EXEC :='ALTER SEQUENCE SATURN.'||V_CUR.SEQUENCE_NAME
||' INCREMENTE BY 1';
EXECUTE IMMEDIATE (VAR_EXEC);
END IF;
END LOOP;
CLOSE C_SEQ;
END;
ORA-00936: falta una expresión
ORA-06512: en "BANINST1.SP_SEQ_TEST", línea 87
ORA-06512: en línea 1
declare
NOM_SEQ VARCHAR2(100);
ULT_SEQ NUMBER;
VAL_SEQ NUMBER;
NEXT_SEQ NUMBER;
BEGIN
FOR CUR IN (
SELECT seQuence_name, LAST_NUMBER
from all_sequenceS
where sequence_name like '%SPRIDEN_SURROGATE%'
or sequence_name like '%GTVZIPC_SURROGATE%'
or sequence_name like '%STVCNTY_SURROGATE%'
or sequence_name like '%SPRADDR_SURROGATE%'
or sequence_name like '%SPRTELE_SURROGATE%'
or sequence_name like '%SPBPERS_SURROGATE%'
or sequence_name like '%GOREMAL_SURROGATE%'
or sequence_name like '%SPREMRG_SURROGATE%'
or sequence_name like '%GOBINTL_SURROGATE%'
or sequence_name like '%SPRMEDI_SURROGATE%'
or sequence_name like '%SPRHOLD_SURROGATE%'
or sequence_name like '%SORFOLK_SURROGATE%'
or sequence_name like '%SGBSTDN_SURROGATE%'
or sequence_name like '%SGRSATT_SURROGATE%'
or sequence_name like '%SGRSCMT_SURROGATE%'
or sequence_name like '%SGRCHRT_SURROGATE%'
or sequence_name like '%SIBINST_SURROGATE%'
or sequence_name like '%SGRADVR_SURROGATE%'
or sequence_name like '%SHRTTRM_SURROGATE%'
or sequence_name like '%SHRTCKN_SURROGATE%'
or sequence_name like '%SHRTCKG_SURROGATE%'
or sequence_name like '%SHRTCKL_SURROGATE%'
or sequence_name like '%SARADAP_SURROGATE%'
or sequence_name like '%SARAPPD_SURROGATE%'
or sequence_name like '%SORHSCH_SURROGATE%'
or sequence_name like '%SYRCRMI_SURROGATE%'
or sequence_name like '%TBRACCD_SURROGATE%'
or sequence_name like '%STVSBGI_SURROGATE%'
or sequence_name like '%SORBTAG_SURROGATE%'
or sequence_name like '%SORBTAL_SURROGATE%'
or sequence_name like '%SHRTGRD_SURROGATE%'
or sequence_name like '%SHBTATC_SURROGATE%'
or sequence_name like '%SHRTATC_SURROGATE%'
or sequence_name like '%SORBDMO_SURROGATE%'
or sequence_name like '%SOBSBGI_SURROGATE%'
or sequence_name like '%STVBCHR_SURROGATE%'
or sequence_name like '%SORBCHR_SURROGATE%'
or sequence_name like '%SORBCMT_SURROGATE%'
or sequence_name like '%SORTEST_SURROGATE%'
or sequence_name like '%STVCIPC_SURROGATE%'
or sequence_name like '%STVTESC_SURROGATE%'
or sequence_name like '%STVTSRC_SURROGATE%'
or sequence_name like '%SSBSECT_SURROGATE%'
or sequence_name like '%SSRLINK_SURROGATE%'
or sequence_name like '%SSBXLST_SURROGATE%'
or sequence_name like '%SSRXLST_SURROGATE%'
or sequence_name like '%SSRMEET_SURROGATE%'
or sequence_name like '%SIRASGN_SURROGATE%'
or sequence_name like '%SFBETRM_SURROGATE%'
or sequence_name like '%SFRSTCR_SURROGATE%'
or sequence_name like '%SGRSATT_SURROGATE%'
or sequence_name like '%TBRMEMO_SURROGATE%'
or sequence_name like '%SARCHKL_SURROGATE%'
or sequence_name like '%SPRHOLD_SURROGATE%'
or sequence_name like '%SGRSCMT_SURROGATE%'
or sequence_name like '%SHRMRKS_SURROGATE%'
or sequence_name like '%SHRMRKA_SURROGATE%'
or sequence_name like '%SMBSLIB_SURROGATE%'
or sequence_name like '%SMRSWAV_SURROGATE%'
or sequence_name like '%SMRSWPV_SURROGATE%'
or sequence_name like '%SHRDGMR_SURROGATE%'
and sequence_owner ='SATURN'
)
LOOP -- esta es la linea 78
EXECUTE IMMEDIATE 'SELECT SATURN.'||CUR.SEQUENCE_NAME||'.NEXTVAL INTO '||ULT_SEQ||' FROM DUAL';
VAL_SEQ := CUR.LAST_NUMBER - ULT_SEQ;
IF VAL_SEQ > 0 THEN
EXECUTE IMMEDIATE 'ALTER SEQUENCE SATURN.'||CUR.SEQUENCE_NAME
||' INCREMENT BY '||VAL_SEQ;
EXECUTE IMMEDIATE 'SELECT SATURN.'||CUR.SEQUENCE_NAME||'.NEXTVAL FROM DUAL';
EXECUTE IMMEDIATE 'ALTER SEQUENCE SATURN.'||CUR.SEQUENCE_NAME
||' INCREMENTE BY 1';
END IF;
END LOOP;
END;
ORA-00936: falta una expresión
ORA-06512: en línea 78
@echo off
echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo º SHAPES DE LOS ERRORES ENCONTRADOS º
echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
For /F "Tokens=* Delims=" %%a In ('""sqlplus.exe" -s QA_DATAC/qa_dc@orcl_qa @%sqlPath%t"') do (set res=%%c
fme.exe "%PATH_FME%SHAPE_ERRORES.fmw" --COMUNA "%res%" --DestDataset_ORACLE8I_DB "ORCL_QA" --OUT_USER "QA_DATAC" --OUT_PASSWORD "qa_dc"
)
Cita de: Eleкtro en 24 Febrero 2015, 14:41 PMR.- la consola no me muestra ni un error, la consola no se cierra, sigue ejecutando mi programa, si no escribo nada, queda eternamente ahi, el prompt puede escribir o saltar espacios, solo despues que escribo exit, sigue con la parte que falta del bat
2. Batch no puede "pedir el cierre de de un bloque de código abierto añadiendo el comando Exit", especifica claramente cual es el mensaje de error que se muestra en consola (aunque obviamente el mensaje sea un error de sintaxis).
Cita de: Eleкtro en 24 Febrero 2015, 14:41 PMR.- corregido en pto 1
3. El bloque del FOR deberías tratar de cerrarlo usando los operadores de agrupación () más que nada para no caer en malas prácticas de programación que conllevan inevitablemente a posibles errores de ejecución (sobre todo de sintaxis, al concatenar comandos en un bloque abierto de FOR), cierra el bloque sí o sí.
Cita de: Eleкtro en 24 Febrero 2015, 14:41 PMR.-no se cuales serian las palabras reservadas del sistema, para evitar esto en la declaracion le coloco las "" o al momento de usar esta variable la uso con "" ?... de todas maneras la ruta que tienen todas las path_XX es \\111.111.11.111\qa_datac\ENTRADA\
4. Ten en cuenta que, en caso de que la variable "%path_sql%" no contenga comillas dobles al principio y al final, y si además la ruta contuviese caracteres reservados por el sistema (ej: C:\Program Files (x86)\sql\ ) entonces ahí tienes el motivo del error, o mejor dicho del cierre inesperado de la consola, debido a un conflicto de sintaxis al intentar parsear los falsos operadores de agrupación por haber dejado la cadena de string abierta, para solucionarlo, encierra el string debidamente.
DEL ""%PATH_SQL%"ESTADISTICA.SQL"--¿?
Cita de: Eleкtro en 24 Febrero 2015, 14:41 PMR.- Modificado tambien en Pto 1
5. Aplica también las mismas reglas de cierre de string a esta instrucción (repito, en caso de que no estén cerrados, porque por lo que muestras no lo puedo saber:
Por norma general las rutas con espacios en el nombre deben encerrarse usando comillas dobles para poder pasarlo como argumento, ya que cada argumento está delimitado por un espacio y por ende una ruta abierta y con espacios será una ruta dividida en varios argumentos para la aplicación, la ruta completa será irreconocible debido a que el recuento de parámetros será incorrecto.
Lo mismo se aplica a cualquier valor de string que quieras pasarle a un parámetro (tenga o no espacios, es lo correcto):fme.exe "%path_fme%errores_archivos.fmw" --comuna "%res%" --destdataset_oracle8i_db "orcl_qa" --out_user "qa_datac" --out_password "qa_dc"
DEL "%PATH_SQL%ESTADISTICA.SQL"
ECHO EXEC SP_VALIDACION_GEOMETRIAS;>>"%PATH_SQL%ESTADISTICA.SQL"
ECHO EXIT>>"%PATH_SQL%ESTADISTICA.SQL"
sqlplus %conexion% @%PATH_SQL%ESTADISTICA.SQL
sqlplus %conexion% @%PATH_SQL%COUNT.SQL rem <-- el desgraciado esta aca
CALL "%PATH_SCRIPT%VAR_ERRORES.BAT" rem --> aqui pense que estaba el error
select count(*) from errores_geom; -- en oracle las sentencias se terminan con un ;
/* en la segunda linea dice */ exit -- sin ;
el exit es para que pueda salir de la llamada desde el bath, pero no la esta tomando, aqui es donde te pido ayuda a ti, se supone que escribiendole al archivo exit sale de la query, pero no lo hace, me hecharias una mano? que puede ser?