Intenté utilizar la declaración case
dentro de un procedimiento almacenado pero recibí "Token unknown" en ella. case
no es compatible con el procedimiento almacenado? GraciasSentencia Firebird CASE dentro del procedimiento almacenado
5
A
Respuesta
2
Puede usar la instrucción CASE solo dentro del operador SELECT. El uso independiente no está permitido.
6
Como escribió Andrei, CASE
solo está disponible en SELECT
declaraciones. Así que el truco de usarlo es seleccionar de alguna mesa que tiene sólo una fila, como RDB$DATABASE
:
SELECT
CASE
...
END
FROM RDB$DATABASE INTO :myVAR;
Por supuesto, esto sólo es útil en caso de que quiera asignar un valor a una variable basada en ciertas condiciones, si necesita una instrucción de flujo de control, la escalera IF/ELSE
es la única opción.
Cuestiones relacionadas
- 1. Ejecutar un procedimiento almacenado dentro de un procedimiento almacenado
- 2. Desaparición del procedimiento almacenado
- 3. Sentencia MySQL CASE y REGEXP
- 4. Cómo ejecutar un procedimiento almacenado dentro del programa C#
- 5. ¿Cómo dividir una cadena separada por comas dentro del procedimiento almacenado?
- 6. Sentencia Postgresql CASE - ¿Puedo utilizar el valor devuelto de CASE dentro de mi SELECT?
- 7. procedimiento almacenado llamada oráculo dentro de seleccione
- 8. Procedimiento almacenado al ejecutar otro procedimiento almacenado
- 9. sentencia-case o perspectiva de la eficiencia sentencia if
- 10. Cómo crear un procedimiento almacenado dentro de otro procedimiento almacenado en SQL Server 2008
- 11. ¿Cómo suprimo los resultados de un procedimiento almacenado dentro de un procedimiento almacenado?
- 12. Sentencia CASE IN con valores múltiples
- 13. SQLite es la sentencia CASE costosa?
- 14. Usando BETWEEN en la sentencia CASE SQL
- 15. Sentencia CASE en la consulta SQLite
- 16. uso de hash o sentencia CASE [rubíes]
- 17. sentencia MYSQL CASE THEN con valores múltiples
- 18. procedimiento almacenado devuelve varchar
- 19. Procedimiento almacenado NULL Parámetro
- 20. Cómo SELECCIONAR un PROCEDIMIENTO en Firebird 2.5
- 21. LINQ to SQL: Resultados del procedimiento almacenado
- 22. Linq: ejecución de interrupción del procedimiento almacenado
- 23. Ejecución del procedimiento almacenado sincronizado en mysql
- 24. Resultados de recuento del procedimiento almacenado
- 25. Rendimiento del procedimiento almacenado: ¿esto es SALVAJE?
- 26. Firebird procedimiento almacenado para concatenar todos los valores de campo de varias filas
- 27. Cómo llamar a un procedimiento almacenado desde otro procedimiento almacenado?
- 28. hibernar y procedimiento almacenado
- 29. Procedimiento almacenado roto guardado
- 30. Llamar procedimiento almacenado dentro de TransactionScope en Entity Framework