update linked español comando begin sql oracle tsql plsql

linked - Traducción de Microsoft T-SQL a Oracle PL/SQL



openquery sql server (11)

No es trivial mapearlos de un lado a otro, así que dudo que haya una herramienta que lo haga automáticamente. Pero este enlace podría ayudarte: http://vyaskn.tripod.com/oracle_sql_server_differences_equivalents.htm

He trabajado con T-SQL durante años, pero acabo de mudarme a una organización que va a requerir escribir algunas cosas de Oracle, probablemente solo operaciones simples de CRUD al menos hasta que encuentre mis pies. No voy a migrar las bases de datos de una a otra simplemente interactuando con las bases de datos de Oracle existentes desde una perspectiva de Desarrollo de aplicaciones. ¿Hay alguna herramienta o utilidad disponible para traducir fácilmente T-SQL a PL / SQL, un mapeador de palabras clave es el tipo de cosa que estoy buscando?

PD: Soy demasiado flojo con RTFM, además de que no va a ser una gran parte de mi rol, así que solo quiero que algo me ayude a acelerar un poco más rápido.


¡Si reemplaza sus absurdos ISNULL y NVL con COALESCE, funcionará en T-SQL y PL / SQL!


La diferencia de idioma enumerada hasta ahora es trivial en comparación con las diferencias lógicas. Cualquiera puede buscar NVL. Lo que es difícil de buscar es

DDL

En el servidor SQL manipula su esquema, en cualquier lugar, en cualquier momento, con poco o ningún alboroto.

En Oracle, no nos gusta el DDL en los procedimientos almacenados, por lo que hay que pasar por los aros. Necesita usar EJECUTAR INMEDIATO para realizar una función DDL.

Tablas temporales

En SQL Server cuando la lógica se vuelve un poco difícil, lo común es atajar el sql y tenerlo resuelto en una tabla temporal y luego el siguiente paso se hace usando esa tabla temporal. MSSS hace que sea muy fácil hacer esto.

En Oracle no nos gusta eso. Al forzar un resultado intermedio, evita por completo que el Optimizador encuentre un atajo para usted. PERO, si debe detenerse a medio camino y persistir en los resultados intermedios, Oracle quiere que prepare la tabla temporal con anticipación, no sobre la marcha.

Cabellos

En MSSS te preocupa el bloqueo, tienes sugerencias de nolock para aplicar a DML, tienes escalada de bloqueo para reducir el número de bloqueos.

En Oracle no nos preocupamos por esto de esa manera.

Leer Commited

Hasta hace poco, MSSS no manejaba por completo el aislamiento de Read Committed, por lo que te preocupaban las lecturas sucias.

Oracle ha sido así durante décadas.

etc

MSSS no tiene ningún concepto de índices de mapa de bits, IOT, clústeres de tabla, clústeres de hash de una sola tabla, índices no únicos que imponen restricciones únicas ....


Las diferencias más importantes para T-SQL simple son:

  • NVL reemplaza a ISNULL
  • SYSDATE reemplaza a GETDATE ()
  • CONVERTIR no es compatible
  • Las columnas de identidad deben reemplazarse con secuencias <- no técnicamente T o PL / sino solo SQL

Nota. Supongo que no usa la sintaxis de SQL Server * en desuso para las combinaciones

@jodonell: La tabla a la que enlazas está un poco desactualizada, Oracle se ha convertido en algo más compatible con los estándares después de que 9i admite cosas como las uniones externas CASE y ANSI


Si realiza una conversión única, en lugar de intentar admitir dos versiones, debe consultar Oracle Migration Workbench . Esta herramienta funciona con SQLDeveloper de Oracle (que realmente debería tener si está trabajando con Oracle). Esto hace una conversión del esquema, los datos y algunos de los T-SQL a PL / SQL. Conociendo ambos bien, descubrí que obtenía un 80% de trabajo. Lo suficientemente bueno como para que valga la pena convertir la mayor parte de los procedimientos y convertir a mano las partes desconocidas "duras" restantes.



Algunas personas han mencionado aquí la conversión de ida y vuelta. No conozco una herramienta para convertir de MSSQL a Oracle, pero utilicé la herramienta MS gratuita para convertir un db Oracle a MSSQL y funcionó para mí y convirtió un db grande sin problemas a los que pueda llamar. Es similar a la herramienta de acceso a MSSQL que MS también ofrece de forma gratuita. Disfrutar


He realizado algunas migraciones de servidor SQL a Oracle. No hay forma de migrar sin volver a escribir el código de back-end. Demasiadas diferencias entre las 2 bases de datos y, lo que es más importante, diferencias entre los 2 grupos mentales de los programadores. Muchos gerentes piensan que los 2 son intercambiables, los gerentes me pidieron que copie los procedimientos almacenados del servidor SQL y los compile en Oracle, ¡no es una pista! Toad es de lejos la mejor herramienta en el mercado para apoyar una aplicación de Oracle. El desarrollador de SQL está bien, pero fue decepcionante en comparación con el sapo. Espero que el oráculo atrape su producto hasta el sapo un día, pero todavía no está allí. Que tengas un buen día :) es probable que si estás migrando a Oracle es por una razón y para cumplir con ese requisito necesitarás volver a escribir el código de fondo o tendrás muchos problemas.


En Oracle SQL Developer, hay una herramienta llamada Translation Scratch Editor. Puede encontrarlo desde Herramientas> Migración.

Oracle SQL Developer es una descarga gratuita de Oracle y es una instalación fácil.


Tengo cosas que mencionar.

1) Cuando trabajé en Oracle 8, no pude hacer "Select @Result", sino que tuvo que usar la tabla ficticia de la siguiente manera "Select @Result from dual". No estoy seguro de si esa ridiculez aún existe.

2) En el mundo de Oracle parece que les encantan los cursores y es mejor que los leas, los usan todo el tiempo AFAICS.

Buena suerte y disfruta,

no es tan diferente de MS SQL. Afortunadamente, no tengo que trabajar más con eso y estoy de nuevo en la cálida comodidad de las herramientas de MS.


Me da la impresión de que la mayoría de las respuestas se centran en la migración de una base de datos completa o simplemente señalan algunas diferencias entre T-SQL y PL / SQL. Recientemente tuve el mismo problema. La base de datos Oracle existe, pero necesito convertir una carga completa de scripts T-SQL a PL / SQL.

Instalé Oracle SQL Developer y ejecuté el Editor de Scratch de traducción (Herramientas> Migración> Editor de Scratch de traducción).

Luego, simplemente ingrese su T-SQL, elija la traducción correcta en la lista desplegable (debe ser por defecto ''T-SQL a PL / SQL'') y conviértala.