FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Problema con Update y StoredProc
Buenas!
Estoy intentando hacer un Update con un StoredProc de Oracle y no se muy bien como funciona. Hago algo asi: OraStoredProc1.Close; OraStoredProc1.SQLUpdate.Clear; OraStoredProc1.SQLUpdate.Add('UPDATE accion SET accion.estado= 1 where accion.estado=8'); OraStoredProc1.Execute; OraStoredProc1.CommitUpdates; pero me pide el nombre del procedimiento almacenado; es una actualización puntual y no la tengo almacenada en la BBDD ¿No es posible asignarle el nombre en tiempo de ejecucion? Gracias de antemano. Un saludo |
#2
|
||||
|
||||
Creo que estas mezclando conceptos.
Si "accion" es una tabla, entonces no hace falta un Store Procedure. el SQL lo pones en un Query, lo ejecutas con ExecQuery y listo. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#3
|
|||
|
|||
Gracias por tu respuesta Lepe,
me funcionó pero ahora tengo otro problemilla con un UPDATE que quiero hacer. En realidad no se si la forma de la consulta es la correcta. Quiero hacer un UPDATE de unos campos de forma aleatoria de esta manera: Código SQL [-]UPDATE [SELECT top 100 LLAMADAS.estado, LLAMADAS.agente FROM LLAMADAS, CLIENTES WHERE (estado=8) AND (LLAMADAS.idcliente = CLIENTES.id) order By Rnd(LLAMADAS.idcliente)] SET LLAMADAS.estado=0, LLAMADAS.AGENTE = Null WHERE (LLAMADAS.estado=8) El error me dice 'Invalid Table Name' como si no me cogiera bien el Select dentro del Update. ¿Sabeis que puede pasar? Gracias!!! Un saludo |
#4
|
||||
|
||||
No será...
Porqué los corchetes? No es con paréntesis... a lo mejor ese es el problema.
No he probado la sentencia SQL pero ha decir verdad nunca he visto una que admita corchetes. Saludos, |
#5
|
|||
|
|||
Hola y gracias por tu respuesta Delphius.
Parece ser que el problema era con los corchetes porque ya no me da el error de 'Invalid table name' pero ahora me da un error diferente: 'FROM keyword not found where expected'... ¿sabeis a que es debido??? un saludo y gracias!!! |
#6
|
|||
|
|||
Hola,
me contesto yo mismo... en Oracle no se permite la sentencia TOP por eso me daba el primer error de 'Invalid Table Name' y el segundo de 'FROM...'. hay una función que hace hace lo mismo que es: ROWNUM <= x y se pone en el where. Es decir, para hacer algo asi en Oracle
lo haremos de esta manera:
Gracias por la ayuda!! Un saludo |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Funcionamiento del StoredProc | carlosegs11 | SQL | 4 | 08-05-2007 19:39:16 |
Problema con update | pache | Firebird e Interbase | 4 | 22-11-2006 21:08:06 |
StoredProc | Genner | MS SQL Server | 2 | 10-02-2006 18:03:28 |
Problema con un update en un SP | RONPABLO | Firebird e Interbase | 3 | 09-03-2005 19:58:43 |
Parametro Result del StoredProc | MarcelRuz | Conexión con bases de datos | 2 | 11-06-2004 21:24:15 |
|