lunes, 15 de marzo de 2021

Consejos para gente que sabe T-SQL pero tiene que aprender PL-SQL

 Odio Oracle. Sin embargo, en mi vida como consultor de BI es inevitable ver a Oracle muchas veces. Es verdad que si manejas varias bases de datos, aprender una nueva es relativamente fácil. Inclusive trabajar con NoSQL es relativamente fácil para alguien que maneja las tradicionales bases de datos SQL.

Para Oracle, debo confesar que a veces hago trampa. Si, tal como oyes. Hago trampa para crear código. Utilizo un software para transformar código T-SQL (que es SQL Server) a PL-SQL usando un convertidor online.

Mi ayudante es sqllines.com y lo que hace es convertir código T-SQL en PL-SQL.

Sqllines es un sitio especializado en migración de código de diferentes bases de datos. Puede migrar código de SQL Server a Oracle o visceversa. Pero también incluye decenas de otras bases de datos.

Veamos un ejemplo sencillo.

Yo use el siguiente código en T-SQL para tener la fecha actual:

select getdate()

¿Cuál es el equivalente en PL-SQL?

La interface es sencilla. Tu pones el código de SQL Server y seleccionas que el origen (source) es Microsoft SQL Server y el destino es Oracle. Luego presionas el botón convertir y ¡zas! eso es todo:



El resultado es el siguiente:

select systimestamp from dual

Como pueden ver en Oracle ponen ese ridículo from dual para hacerse a los más complicados.

Ahora probemos como declarar variables en Oracle:

Estamos declarando una variable del tipo entero en SQL Server:

declare @var int=10

Ahora, queremos ver en Oracle. Vamos a sqllines.com y el resultado es el siguiente:

 v_var number(10):=10


Otra típica para mostrar los 10 primeros campos en SQL Server (T-SQL) es:

SELECT TOP 10 FROM DBO.STUDENTS

Se usa el TOP 10 para mostrar los primeros 10 campos. Usando la herramienta, el equivalente de Oracle  (PL-SQL) es:

Eeehh. Bueno acá falló un poco. sqllines no es perfecto, tiene errores, pero ayuda bastante.

La respuesta correcta es:

SELECT TOP 10 FROM DBO.STUDENTS

WHERE ROWNUM<10

Aún con errores ayuda mucho al migrar de un lenguaje a otro. Y lo lindo es que soporta varias bases de datos como ser: Oracle, T-SQL, RedShift, PostgreSQL, Snowflake entre varias otras.




People who read this post also read :



1 comentario:

  1. Interesante publicación yo estoy comenzando como programador de aplicaciones informáticas en esta web https://1cursos.com/f-curso-de-programador-de-aplicaciones-informaticas y me gustaría saber sus opiniones acerca de los estudios a distancia.

    ResponderEliminar