Ir al contenido


Foto

[RESUELTO] Select Firebird 2.0 igual IBexpert?


  • Por favor identifícate para responder
12 respuestas en este tema

#1 adriano_servitec

adriano_servitec

    Advanced Member

  • Miembros
  • PipPipPip
  • 91 mensajes
  • LocationCuritiba-Pr - Brasil

Escrito 29 noviembre 2009 - 07:11

Tem como fazer este select igual ao IBExpert?
Ou seja a coluna numeric e decimal ficar na mesma posição das outras?

¿Es esta la forma de seleccionar igual a IBExpert?
En palabras de otros, y la columna numérica decimal estar en la misma posición de la otra?




sql
  1. SELECT
  2. rdb$relation_fields.rdb$field_name Nome_Campo,
  3. CASE
  4. WHEN rdb$types.rdb$type_name = 'VARYING'  THEN 'varchar'
  5. WHEN rdb$types.rdb$type_name = 'INT64'    THEN 'numeric'
  6. WHEN rdb$types.rdb$type_name = 'LONG'      THEN 'integer'
  7. WHEN rdb$types.rdb$type_name = 'TIMESTAMP' THEN 'timestamp'
  8. WHEN rdb$types.rdb$type_name = 'TEXT'      THEN 'char'
  9. WHEN rdb$types.rdb$type_name = 'BLOB'      THEN 'blob'
  10. WHEN rdb$types.rdb$type_name = 'FLOAT'    THEN 'float'
  11. WHEN rdb$types.rdb$type_name = 'DATE'      THEN 'date'
  12. WHEN rdb$types.rdb$type_name = 'DOUBLE'    THEN 'double_precision'
  13. WHEN rdb$types.rdb$type_name = 'SHORT'    THEN 'smallint'
  14. WHEN rdb$types.rdb$type_name = 'TIME'      THEN 'time'
  15. WHEN rdb$types.rdb$type_name = 'BIGINT'    THEN 'bigint'
  16.  
  17. ELSE rdb$types.rdb$type_name
  18. END Tipo_Campo,
  19.  
  20. rdb$fields.rdb$field_length Tamanho,
  21.  
  22. rdb$fields.rdb$field_precision Valor,
  23. CASE
  24.   WHEN rdb$fields.rdb$field_scale = -1 THEN  1
  25.   WHEN rdb$fields.rdb$field_scale = -2 THEN  2
  26.   WHEN rdb$fields.rdb$field_scale = -3 THEN  3
  27.   WHEN rdb$fields.rdb$field_scale = -4 THEN  4
  28.   WHEN rdb$fields.rdb$field_scale = -5 THEN  5
  29.   WHEN rdb$fields.rdb$field_scale = -6 THEN  6
  30.   WHEN rdb$fields.rdb$field_scale = -7 THEN  7
  31.   WHEN rdb$fields.rdb$field_scale = -8 THEN  8
  32.   WHEN rdb$fields.rdb$field_scale = -9 THEN  9
  33. END Decimais,
  34. rdb$fields.rdb$field_sub_type Sub_Tipo
  35.  
  36. FROM  rdb$relation_fields, rdb$fields, rdb$types
  37. WHERE
  38. (rdb$relation_fields.rdb$relation_name = :busca)AND
  39. (rdb$fields.rdb$field_name = rdb$relation_fields.rdb$field_source)AND
  40. (rdb$types.rdb$type = rdb$fields.rdb$field_type)AND
  41. (rdb$types.rdb$field_name = 'RDB$FIELD_TYPE')
  42. ORDER BY  rdb$field_position



Atenciosamente,
Adriano.
  • 0

#2 eduarcol

eduarcol

    Advanced Member

  • Administrador
  • 4.483 mensajes
  • LocationVenezuela

Escrito 30 noviembre 2009 - 07:54

Hola Adriano, no le veo problemas a la consulta, te da algún tipo de error?
  • 0

#3 adriano_servitec

adriano_servitec

    Advanced Member

  • Miembros
  • PipPipPip
  • 91 mensajes
  • LocationCuritiba-Pr - Brasil

Escrito 30 noviembre 2009 - 10:10

Hola Adriano, no le veo problemas a la consulta, te da algún tipo de error?

Hola Eduarcol, tiene problemas con la selección, sólo quiero ver si es posible cambiar la columna "valor" a "tamaño" y "decimal" a "valor", si es posible, entiendes?

Hola Eduarcol, não tem porblema com o select, apenas quero ver se é possivel mudar as colunas "VALOR" para "TAMANHO" e "DECIMAIS" para "VALOR", se for possivel, entiendes?

Igual ao IBExpert na aba DATA
  • 0

#4 Rolphy Reyes

Rolphy Reyes

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.092 mensajes
  • LocationRepública Dominicana

Escrito 30 noviembre 2009 - 11:18

Saludos.

Podrías mostrar un ejemplo del resultado que esperas, porque en realidad no entiendo bien claro lo que deseas.
  • 0

#5 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 30 noviembre 2009 - 11:52

Él lo que quiere saber es si el select (Sintaxis) que presenta funciona en IBExpert, tanto como Firebird y/o IBExper, o quizás se refiera al componente IBX.

Saludos.
  • 0

#6 eduarcol

eduarcol

    Advanced Member

  • Administrador
  • 4.483 mensajes
  • LocationVenezuela

Escrito 30 noviembre 2009 - 01:52

Si lo que quieres es cambiarlo de posición es de la siguiente manera:



sql
  1. SELECT
  2. rdb$relation_fields.rdb$field_name Nome_Campo,
  3. CASE
  4. WHEN rdb$types.rdb$type_name = 'VARYING'  THEN 'varchar'
  5. WHEN rdb$types.rdb$type_name = 'INT64'    THEN 'numeric'
  6. WHEN rdb$types.rdb$type_name = 'LONG'      THEN 'integer'
  7. WHEN rdb$types.rdb$type_name = 'TIMESTAMP' THEN 'timestamp'
  8. WHEN rdb$types.rdb$type_name = 'TEXT'      THEN 'char'
  9. WHEN rdb$types.rdb$type_name = 'BLOB'      THEN 'blob'
  10. WHEN rdb$types.rdb$type_name = 'FLOAT'    THEN 'float'
  11. WHEN rdb$types.rdb$type_name = 'DATE'      THEN 'date'
  12. WHEN rdb$types.rdb$type_name = 'DOUBLE'    THEN 'double_precision'
  13. WHEN rdb$types.rdb$type_name = 'SHORT'    THEN 'smallint'
  14. WHEN rdb$types.rdb$type_name = 'TIME'      THEN 'time'
  15. WHEN rdb$types.rdb$type_name = 'BIGINT'    THEN 'bigint'
  16.  
  17. ELSE rdb$types.rdb$type_name
  18. END Tipo_Campo,
  19.  
  20. rdb$fields.rdb$field_precision Valor,
  21.  
  22. rdb$fields.rdb$field_length Tamanho,
  23.  
  24.  
  25. CASE
  26.   WHEN rdb$fields.rdb$field_scale = -1 THEN  1
  27.   WHEN rdb$fields.rdb$field_scale = -2 THEN  2
  28.   WHEN rdb$fields.rdb$field_scale = -3 THEN  3
  29.   WHEN rdb$fields.rdb$field_scale = -4 THEN  4
  30.   WHEN rdb$fields.rdb$field_scale = -5 THEN  5
  31.   WHEN rdb$fields.rdb$field_scale = -6 THEN  6
  32.   WHEN rdb$fields.rdb$field_scale = -7 THEN  7
  33.   WHEN rdb$fields.rdb$field_scale = -8 THEN  8
  34.   WHEN rdb$fields.rdb$field_scale = -9 THEN  9
  35. END Decimais,
  36. rdb$fields.rdb$field_sub_type Sub_Tipo
  37.  
  38. FROM  rdb$relation_fields, rdb$fields, rdb$types
  39. WHERE
  40. (rdb$relation_fields.rdb$relation_name = :busca)AND
  41. (rdb$fields.rdb$field_name = rdb$relation_fields.rdb$field_source)AND
  42. (rdb$types.rdb$type = rdb$fields.rdb$field_type)AND
  43. (rdb$types.rdb$field_name = 'RDB$FIELD_TYPE')
  44. ORDER BY  rdb$field_position


  • 0

#7 adriano_servitec

adriano_servitec

    Advanced Member

  • Miembros
  • PipPipPip
  • 91 mensajes
  • LocationCuritiba-Pr - Brasil

Escrito 30 noviembre 2009 - 09:19

No creo que he expresado bien

Lo que necesito es si usted puede poner el VALOR de la columna de dados en el de la columna TAMANHO, y eliminar el columna VALOR.

Ficando assim:

NOME_CAMPO--TIPO_CAMPO------TAMANHO---DECIMAIS---SUB_TIPO

SALARIO-------- -numeric-----------------15----------2--------------1
NOME------------varchar------------------50----------null-----------null


  • 0

#8 Rolphy Reyes

Rolphy Reyes

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.092 mensajes
  • LocationRepública Dominicana

Escrito 01 diciembre 2009 - 07:12

Saludos.

Si solo quieres no presentar el campo VALOR y que tu sentencia SELECT este igual, solo elimina la línea que contiene el campo VALOR.



sql
  1. SELECT
  2. rdb$relation_fields.rdb$field_name Nome_Campo,
  3. CASE
  4. WHEN rdb$types.rdb$type_name = 'VARYING'  THEN 'varchar'
  5. WHEN rdb$types.rdb$type_name = 'INT64'    THEN 'numeric'
  6. WHEN rdb$types.rdb$type_name = 'LONG'      THEN 'integer'
  7. WHEN rdb$types.rdb$type_name = 'TIMESTAMP' THEN 'timestamp'
  8. WHEN rdb$types.rdb$type_name = 'TEXT'      THEN 'char'
  9. WHEN rdb$types.rdb$type_name = 'BLOB'      THEN 'blob'
  10. WHEN rdb$types.rdb$type_name = 'FLOAT'    THEN 'float'
  11. WHEN rdb$types.rdb$type_name = 'DATE'      THEN 'date'
  12. WHEN rdb$types.rdb$type_name = 'DOUBLE'    THEN 'double_precision'
  13. WHEN rdb$types.rdb$type_name = 'SHORT'    THEN 'smallint'
  14. WHEN rdb$types.rdb$type_name = 'TIME'      THEN 'time'
  15. WHEN rdb$types.rdb$type_name = 'BIGINT'    THEN 'bigint'
  16.  
  17. ELSE rdb$types.rdb$type_name
  18. END Tipo_Campo,
  19.  
  20.  
  21. rdb$fields.rdb$field_length Tamanho,
  22.  
  23. ABS(rdb$fields.rdb$field_scale) Decimais,
  24. rdb$fields.rdb$field_sub_type Sub_Tipo
  25.  
  26. FROM  rdb$relation_fields, rdb$fields, rdb$types
  27. WHERE
  28. (rdb$relation_fields.rdb$relation_name = :busca)AND
  29. (rdb$fields.rdb$field_name = rdb$relation_fields.rdb$field_source)AND
  30. (rdb$types.rdb$type = rdb$fields.rdb$field_type)AND
  31. (rdb$types.rdb$field_name = 'RDB$FIELD_TYPE')
  32. ORDER BY  rdb$field_position



Prueba y reporta! ;)
  • 0

#9 adriano_servitec

adriano_servitec

    Advanced Member

  • Miembros
  • PipPipPip
  • 91 mensajes
  • LocationCuritiba-Pr - Brasil

Escrito 01 diciembre 2009 - 07:32

Hola, q version de firebird? Esto usando 1.5 e return erro

[off-topic]can't format message 13:196 -- message file C:\Arquivos de programas\HK-Software\firebird.msg not found.
Dynamic SQL Error.
SQL error code = -804.
Function unknown.
ABS.[/off-topic]

  • 0

#10 adriano_servitec

adriano_servitec

    Advanced Member

  • Miembros
  • PipPipPip
  • 91 mensajes
  • LocationCuritiba-Pr - Brasil

Escrito 01 diciembre 2009 - 07:35

En casa, voy a probar con 2,0 Firebird, y luego informar a usted si ha funcionado, más de 1,5 no reconoce el ABS
  • 0

#11 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 01 diciembre 2009 - 07:23

Hola adriano_servitec,

Disculpa si no te escribo en portugués. Sería raro que no estuviera disponible... hasta el momento no me he visto obligado a usarla, por lo que no he probado. No tengo a mano el Release Notes de 1.5 (no uso la 2.x) como para comprobarlo.

De lo que puedo ver en la FAQ, si está. Desde 2.1, al menos ya está incorporada al motor. Lo más seguro es que esté en 1.5, solamente sería necesario declararla o "registrarla". Ejecuta este "script":



sql
  1. DECLARE EXTERNAL FUNCTION abs
  2. DOUBLE PRECISION
  3. RETURNS DOUBLE PRECISION BY VALUE
  4. ENTRY_POINT 'IB_UDF_abs' MODULE_NAME 'ib_udf'

;

Saludos,
  • 0

#12 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 02 diciembre 2009 - 11:53

¿Alguna novedad?

Acabo de probar si se puede declarar dicha UDF en Firebird 1.5 y si se puede. Además, la función ABS funciona muy bien. :)

Saludos,
  • 0

#13 adriano_servitec

adriano_servitec

    Advanced Member

  • Miembros
  • PipPipPip
  • 91 mensajes
  • LocationCuritiba-Pr - Brasil

Escrito 02 diciembre 2010 - 04:14

Lo siento mi amigo de larga ausencia, finalmente renunció a hacer este proyecto. Como ya he cerrado el post.
  • 0




IP.Board spam blocked by CleanTalk.