Consulta con SQL Nativo

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • gazzita
    Junior Member
    • ene
    • 14

    #1

    Consulta con SQL Nativo

    Al ejecutar la siguiente sentencia en sql nativo me tira un error por la sintaxis, alguno sabe como puedo arreglarlo. La verdad que no logro darme cuenta, gracias.

    EXEC SQL.
    DELETE FROM <nomb tabla en oracle>
    WHERE augdt BETWEEN :fec_inic AND :fec_fin
    ENDEXEC.
  • bcalderon
    Junior Member
    • mar
    • 2

    #2
    Originalmente publicado por gazzita
    Al ejecutar la siguiente sentencia en sql nativo me tira un error por la sintaxis, alguno sabe como puedo arreglarlo. La verdad que no logro darme cuenta, gracias.

    EXEC SQL.
    DELETE FROM <nomb tabla en oracle>
    WHERE augdt BETWEEN :fec_inic AND :fec_fin
    ENDEXEC.
    Prueba incluyendo punto y coma al final del where..

    EXEC SQL.
    DELETE FROM <nomb tabla en oracle>
    WHERE augdt BETWEEN :fec_inic AND :fec_fin;
    ENDEXEC.[/QUOTE]


    Suerte.!!

    Comentario

    • gazzita
      Junior Member
      • ene
      • 14

      #3
      Gracias por la ayuda. Lamentablemente no funciono. A alguno se le ocurre alguna otra cosa?

      Comentario

      • ajoliverar
        Junior Member
        • ago
        • 10

        #4
        Estas seguro de que es un error de sitaxis? cual es el numero de error ORA-nnnn?

        Tambien puedes intentar poner la condicion así:

        augdt >= :fec_ini AND
        augdt <= :fec_fin

        Comentario

        • gazzita
          Junior Member
          • ene
          • 14

          #5
          Cuando se ejecuta esa sentencia la excepcion que tira dice CX_SY_NATIVE_SQL_ERROR

          Comentario

          • ajoliverar
            Junior Member
            • ago
            • 10

            #6
            Si pero en el texto del dump no hay alguna parte donde te venga el error de ORACLE (supongo que el sap lo tienes en una base datos ORACLE)?

            Comentario

            • gazzita
              Junior Member
              • ene
              • 14

              #7
              El tema es que es un error que el programa no lo esta atrapando. Para verlo tuve que debaguear y ahi si vi que el error se producia en esa sentencia. Lo que probe de hacer es en vez de ponerle el where augdt >= :fec_inic AND augdt <= :fec_fin. Le puse where kunnr = '66' y asi si funciono, por lo que se me hace que el error esta en como interpreta Oracle la fecha. Yo probe con todas estas y no funciono ninguna:

              DELETE FROM <tabla>
              WHERE augdt >= '18/06/2008' AND augdt <= '19/06/2008'

              DELETE FROM <tabla>
              WHERE augdt >= '18062008' AND augdt <= '19062008'

              DELETE FROM <tabla>
              WHERE augdt >= '18.06.2008' AND augdt <= '19.06.2008'

              DELETE FROM <tabla>
              WHERE augdt >= '20080618' AND augdt <= '20080619'

              Comentario

              • gazzita
                Junior Member
                • ene
                • 14

                #8
                El nro de error es ORA-1843

                Comentario

                • Cutzih
                  Junior Member
                  • jun
                  • 8

                  #9
                  Oracle maneja las fechas de manera muy peculiar. Al pasarla, le tienes que dar el formato bajo la cual la quieres manejar. Con la función "to_date(tufecha,formato)" lo puedes resolver. Por ejemplo: to_date('2008-06-18','YYYY-MM-DD').
                  No tengo experiencia en SQLNativo, más sin embargo, sí he trabajado con el manejo de fechas en Oracle, y el error que te está arrojando está en el formato en la cual la estás pasando.

                  Ojalá te sirva.

                  Comentario

                  • angelitotunin
                    Junior Member
                    • feb
                    • 6

                    #10
                    prueba esto

                    pon la fecha con el format DD-MES-AA

                    ejemplo:
                    12-JAN-08

                    Comentario

                    Trabajando...