Diferencias Entre Oracle y Ms SQL Server

14
 

Transcript of Diferencias Entre Oracle y Ms SQL Server

Page 1: Diferencias Entre Oracle y Ms SQL Server

5/16/2018 Diferencias Entre Oracle y Ms SQL Server - slidepdf.com

http://slidepdf.com/reader/full/diferencias-entre-oracle-y-ms-sql-server 1/14

Page 2: Diferencias Entre Oracle y Ms SQL Server

5/16/2018 Diferencias Entre Oracle y Ms SQL Server - slidepdf.com

http://slidepdf.com/reader/full/diferencias-entre-oracle-y-ms-sql-server 2/14

1.

Última Actualización: 24/04/2001Se aplica a: Oracle 7.3 +, MS SQL Server 6.5 +

La siguiente tabla muestra algunas diferencias en los conceptos y terminología entreOracle y MS SQL Server:

Concepto / Plazo Oracle MS SQL Server

Base de datos del motor base de datos base de datos del servidor

Base de datos (colecciónde tablas) esquema base de datosFunciones grupos funciones grupos

Base de datos de la cuentade administrador,propietario de la base

dba sa, dbo

Los datos sobre la base dedatos

Diccionario deDatos- Una por cadaservidor

Base de datos de catálogo- Uno por base de datos"Maestro" base de datos- Una por cada servidor

Bloques y extensiones bloques yextensiones páginas y extensiones

Software de red SQL * Net Biblioteca de red

Flujo de datos deprotocolo

Sustrato de redtransparente(TNS)

Secuencia de datos tabular(TDS)

Entre mayúsculas yminúsculas de losnombres de tablas,columnas, etc

entremayúsculas yminúsculas

depende del orden de loscaracteres tipo, por defectoes entre mayúsculas yminúsculas

Sinónimos el apoyo No se admiteReadonly transacción el apoyo No se admite

Page 3: Diferencias Entre Oracle y Ms SQL Server

5/16/2018 Diferencias Entre Oracle y Ms SQL Server - slidepdf.com

http://slidepdf.com/reader/full/diferencias-entre-oracle-y-ms-sql-server 3/14

2.

Última Actualización: 06/06/1999

Se aplica a: Oracle 7.3 +, MS SQL Server 6.5 +

La siguiente tabla muestra los tipos de datos correspondientes en Oracle y MS SQLServer:

Tipo de datos Oracle MS SQL Server

Cadena delongitud fija

CHAR (n)- Límite de 2 KB

CHAR (n), carácter (n)- Límite de 255 (6,5)- Límite de 8 KB (7.0)

Cadena delongitudvariable

VARCHAR2 (n),

VARCHAR (n)- Límite de 4 KB enuna columna- Límite de 32 KBen una variable- VARCHAR esobsoleto

VARCHAR (n), CHAR variable(n), CHARACTER VARYING (n)- Límite de 255 (6,5)- Límite de 8 KB (7.0)

EnteroINTEGER,INTEGER (n),SMALLINT

INTEGER (4 bytes),INT (4 bytes),SMALLINT (2 bytes),TINYINT (1 byte),

BIT (un poco)

Punto Fijo

Número, (n),número (n, d),Float, float (n),FLOAT (n, d)

NUM RICO, numérico (n),numérico (n, d),DECIMAL, DECIMAL (n),DECIMAL (n, d),DEC, DEC (n), diciembre (n, d),DINERO, smallmoney

De puntoflotante

DECIMALFloat, float (n), de doble precisión,REAL

Fecha FECHA

DATETIME, smalldatetime,

TIMESTAMP- TIMESTAMP de auto-actualización

BinariaRAW (n)- Límite de 255bytes

Binary (n), varbinary (n),BINARY variable (n)- Límite de 255 (6,5)- Límite de 8 KB (7.0)

Page 4: Diferencias Entre Oracle y Ms SQL Server

5/16/2018 Diferencias Entre Oracle y Ms SQL Server - slidepdf.com

http://slidepdf.com/reader/full/diferencias-entre-oracle-y-ms-sql-server 4/14

Grandescadenas

LONG, LONG- Límite de 2 GB- Límite de uno porcada fila de la tablaCLOB

- Límite de 4 GB

TEXTO- Límite de 2 GB

Binary Large

LONG RAW- Límite de 2 GB- Límite de uno porcada fila de la tablaBLOB- Límite de 4 GB

IMAGEN- Límite de 2 GB

caracteresmulti-byte

NCHAR (n)NVARCHAR (n)

NCLOB- Los mismoslímites que CHAR,VARCHAR, CLOB

NCHAR (n), NACIONAL CHAR(n), de carácter nacional (n)NVARCHAR (n), NACIONALVARIABLE CHAR (n),CARÁCTER NACIONALVARIABLE (n)Ntext, text NACIONAL- Los mismos límites que CHAR,VARCHAR, TEXT

OS Archivo BFILE supported> <No

Identificador defila

implícita columnaROWID

(Utilizar una columna deidentidad)

OS seguromultinacional

MLSLABEL,MLSLABEL RAW

supported> <No

Número únicode 128 bits(UUID, GUID)

supported> <NoUNIQUEIDENTIFIER (versión7.0)

3.

Última Actualización: 14/06/2000Se aplica a: Oracle 7.3 +, MS SQL Server 6.5 +

La siguiente tabla muestra las diferencias en los límites de Oracle y MS SQL

Server:

Descripción Oracle MS SQL Server

Columnas por tabla 1000250 (6.5)1024 (7.0)

Tamaño de la fila ilimitado1962 bytes (6,5)8060 bytes (7,0)

Page 5: Diferencias Entre Oracle y Ms SQL Server

5/16/2018 Diferencias Entre Oracle y Ms SQL Server - slidepdf.com

http://slidepdf.com/reader/full/diferencias-entre-oracle-y-ms-sql-server 5/14

- Incluye punteros, pero nolos datos, para el texto ycolumnas de imágenes

LONG y LONG RAWcolumnas por fila

1 (debe ser laúltima columna)

ilimitado (puntero de 16bytes por)

LOB, TEXT, y columnasde imágenes por fila

ilimitado(puntero de 16bytes por)

ilimitado (puntero de 16bytes por)

Los índices agrupadospor tabla

1 1

No índices agrupados portabla

ilimitado 249

Columnas por índice 16 16

ndice de tamaño de fila 2k bytes 900 bytes

Identificador de longitud 30 caracteres 30 caracteres (6,5)128 caracteres (7,0)

Tablas porSELECCIONAR

ilimitado16 (6.5)256 (7.0)

El código fuente porprocedimientoalmacenado

64KB (6.5)250 MB (7.0)

Datos de los límites detipo

(Ver tipos de datos )

4.

Última Actualización: 06/07/1999Se aplica a: Oracle 7.3 +, MS SQL Server 6.5 +

La mayoría de los operadores son los mismos en Oracle y MS SQL Server. Éstosson algunos que se diferencian:

Descripción Oracle MS SQL Server

La concatenación de cadenas texto1 | | texto2 cadena1 cadena2 +

Page 6: Diferencias Entre Oracle y Ms SQL Server

5/16/2018 Diferencias Entre Oracle y Ms SQL Server - slidepdf.com

http://slidepdf.com/reader/full/diferencias-entre-oracle-y-ms-sql-server 6/14

5.

Última Actualización: 06/07/1999

Se aplica a: Oracle 7.3 +, MS SQL Server 6.5 +

Oracle y MS SQL Server ofrece muchas de las mismas funciones integradas. Porejemplo, ambos ofrecen ABS, CAD, REDONDO, superior, inferior, AVG,COUNT, SUM, ASCII, etc La siguiente tabla muestra algunas de las funcionescorrespondientes que no tienen el mismo nombre. Para obtener una lista completade más información, consulte "Migración de Aplicaciones de Oracle a SQL Server"

Descripción Oracle MS SQL Server

Más pequeño> entero = n CEIL TECHO

Módulo MOD %Truncar número TRUNCAR <none>

Máximo o el mínimonúmero o una cadena enla lista

MAYOR,POR LO MENOS

<none>

Traducir NULL para n NVL ISNULL

Return null si dos valoresson iguales

DECODE NULLIF

La concatenación decadenas

CONCAT (cad1, cad2) cad1 + cad2

Convierte ASCII acaracteres

Comisión de DerechosHumanos

CHAR

Capitalizar las letrasiniciales de las palabras

INITCAP <none>

Buscar cadena en cadena INSTR CHARINDEX

Encuentra el patrón en lacadena

INSTR PATINDEX

Cadena de longitud LONGITUD DATALENGTH

Pad cadena con espaciosen blanco

LPAD,RPAD <none>

Recorte caracteresiniciales o finales que nosean espacios en blanco

LTRIM (str, caracteres),RTRIM (str, caracteres)

<none>

Reemplazar caracteres enla cadena

CAMBIAR COSAS

Convertir el número de To_char STR, CAST

Page 7: Diferencias Entre Oracle y Ms SQL Server

5/16/2018 Diferencias Entre Oracle y Ms SQL Server - slidepdf.com

http://slidepdf.com/reader/full/diferencias-entre-oracle-y-ms-sql-server 7/14

serie

Convertir cadena ennúmero

TO_NUMBER CAST

Obtener subcadena deuna cadena

SUBSTR SUBSTRING

Char para la traducciónen la cadena de caracteres

TRADUCIR <none>

Además de la fecha ADD_MONTH o + DATEADD

Fecha de la restaMONTHS_BETWEEN o-

DATEDIFF

ltimo día del mes LAST_DAY <none>

Tiempo de conversión dela zona

NEW_TIME <none>

día de la semanasiguiente después de lafecha especificada

Next_day <none>

Convertir fecha a cadena To_charDATENAME,CONVERTIR

Convertir cadena a fecha TO_DATE CAST

Convertir fecha con elnúmero

TO_NUMBER (to_char(d))

DATEPART

Fecha de vuelta RONDA CONVERTIR

Fecha en que se trunca TRUNCAR CONVERTIR

Fecha actual SYSDATE GETDATEConvertir hexadecimal abinario

HEXTORAW CAST

Convertir binario ahexadecimal

RAWTOHEX CONVERTIR

Si la declaración en unaexpresión

DECODECASO ...CUANDOo COALESCE

entrada número de

identificación del usuarioo el nombre UID, EL USUARIO

SUSER_ID,

SUSER_NAME

Identificación del númerode bases de datos delusuario o el nombre

UID, EL USUARIOUSER_ID,USER_NAME

El usuario actual USUARIO USUARIO

Page 8: Diferencias Entre Oracle y Ms SQL Server

5/16/2018 Diferencias Entre Oracle y Ms SQL Server - slidepdf.com

http://slidepdf.com/reader/full/diferencias-entre-oracle-y-ms-sql-server 8/14

6.

Última Actualización: 03/21/2001Se aplica a: Oracle 7.3 +, MS SQL Server 6.5 +

En la tabla siguiente se muestra la sintaxis utilizada en diferentes Oracle y MS SQLServer para el mismo las operaciones de SQL:

Descripción Oracle MS SQL Server

Combinaciónexternaizquierda

DONDE column1 = Columna2 (+)

FROM tabla1LEFT OUTERJOIN tabla2 ONtable1.column1 =table2.column2

Nota: La siguientesintaxis también escompatible, peroya no serecomienda:DONDE column1*= Columna2

Combinaciónexterna derecha

DONDE column1 (+) = Columna2

FROM tabla1RIGHT OUTERJOIN tabla2 ONtable1.column1 =

table2.column2

Nota: La siguientesintaxis también escompatible, peroya no serecomienda:DONDE column1=* Columna2

Combinación

externacompleta

FROM tabla1FULL OUTER

JOIN tabla2 ONtable1.column1 =table2.column2

SELECT sin DE 'SELECT' hola mundo de la doble'Hola mundo'SELECT

datos deSELECT en una

CREATE TABLE AS SELECT...

SELECT ... INTO

Page 9: Diferencias Entre Oracle y Ms SQL Server

5/16/2018 Diferencias Entre Oracle y Ms SQL Server - slidepdf.com

http://slidepdf.com/reader/full/diferencias-entre-oracle-y-ms-sql-server 9/14

tabla

Intersección dedosSELECCIONA

SELECT ... INTERSECTSELECT ...

SELECT ...DONDE EXISTE(SELECT ...)

Resta de dosSELECCIONA

SELECT ... MENOS SELECT ...

SELECT ...DONDE NO

EXISTE(SELECT ...)

INSERT en unJOIN

INSERT INTO SELECT ...Crear una vista yINSERT INTOella.

Actualizar datosen unacombinación

UPDATE SELECT ...Crear una vista yINSERT INTOella.

UPDATE unatabla basada encriterios de otratabla

supported> <No UPDATE FROMtabla ...

Eliminar filas deuna tabla basadaen criterios deotra tabla

supported> <NoDELETE FROMtabla FROM ...

Quitar unacolumna de una

tabla

<No apoyado hasta Oracle 8i>

ALTER TABLEnombre_tablaDROP COLUMN

nombre_columnaReadonlyVISTA

CREATE VIEW ... CON

READONLY

GRANT SELECT...

Punto paraSalvar

SAVEPOINTSALVAR LATRANSACCIÓN

Tabla debloqueos

LOCK TABLE ... IN SHAREMODE

SELECT ...table_name(TABLOCK)

bloqueo de tabla

Exclusiva

LOCK TABLE ... en modo

exclusivo

SELECT ...table_name(TABLOCKX)

La reserva deespacio deíndice

PCTFREE = 0FILLFACTOR =100

Declarar unavariable local

DECLARO tipo varname;DECLARE @ tipovarname

Inicializar una DECLARO tipo varname: = valor; supported> <No

Page 10: Diferencias Entre Oracle y Ms SQL Server

5/16/2018 Diferencias Entre Oracle y Ms SQL Server - slidepdf.com

http://slidepdf.com/reader/full/diferencias-entre-oracle-y-ms-sql-server 10/14

variable local

Declarar unaconstante

varname DECLARARCONSTANTES tipo: = valor;

supported> <No

Asignar a unavariable

varname: valor =valor SELECT INTO varname

SET @nombre_var =valorSELECT @nombre_var =valor

Asignar a unavariable de uncursor

cursorname TRAER EN varnameFETCH NEXTcursorname DE ENvarname

La declaración

de un cursor

CURSOR CurName (s param)

ES SELECT ...;

DECLARECURSORCurName PARA

SELECCIONAR...

Si la declaración

SI ... ENTONCESELSIF ... ENTONCESMÁSENDIF

SI ...EMPEZAR ... FINElse begin ... FIN

WhileMIENTRAS ... LAZOEND LOOP

MIENTRAS ...EMPEZAR ... FIN

Otros lazosPARA ... END LOOPLAZO ... END LOOP

supported> <No

Bucle de salida SALIR, SALIR AL BREAK,CONTINUE

Impresión desalida

DBMS_OUTPUT.PUT_LINE IMPRESIÓN

Levante de error RAISE_APPLICATION_ERROR RAISERROR

Declaración determinación

Punto y coma (;)required><Ninguna

Gracias a Tom Johnston para la captura de un error en este consejo. Tuve el

DOBLE DE en la columna equivocada.

Page 11: Diferencias Entre Oracle y Ms SQL Server

5/16/2018 Diferencias Entre Oracle y Ms SQL Server - slidepdf.com

http://slidepdf.com/reader/full/diferencias-entre-oracle-y-ms-sql-server 11/14

7.

Última Actualización: 06/06/1999Se aplica a: Oracle 7.3 +, MS SQL Server 6.5 +

La siguiente tabla muestra algunas diferencias semánticas entre Oracle y MS SQLServer:

Descripción Oracle MS SQL Server

Comprometerse Compromisoexplícitodeclaraciónrequerida

Automática a menos que cometanIMPLICIT_TRANSACTIONSSET

Lectura de datosno confirmados

Base de datos sereversión

temporal internopara reconstruirlos datos másrecientescometidos por loslectores.

Dependiendo de las opciones,lector puede leer datos sin

confirmar, o se ve obligado aesperar para el escritor paraconfirmar o deshacer.

Liberar los datosdel cursor

CERRARCURSOR liberatodos los datos.No se puedevolver a abrir.

CERRAR cursor no publicacióndel informe. Usted debe llamarexplícitamente a CURSORDEALLOCATE. Hasta entonces,puede volver a abrir el cursor.

Implícito deconversión dedatos en unadeclaración comola siguientedonde vc es unacolumna de tipoVARCHAR2:

SELECT *FROM personaSiendo Vc = 123

En cada fila serecupera de latabla, se realizaun intento paraconvertirlo en unnúmero para lacomparación con123. Si cualquierfila contiene unvalor que no sepuede convertiren un número, unerror de tiempode ejecución.

El número 123 se convierte en lacadena '123 'una vez, y luego losdatos se obtienen de la tabla. Sicualquier fila contiene un valor queno se puede convertir en unnúmero, simplemente no secorresponde con '123 'y se salta sinningún error.

La conversión aNULL

Marco unacolumnaVARCHAR2a''(la cadena

Configuración de una columnaVARCHAR a''la convierte en lacadena vacía (no es NULL).

Page 12: Diferencias Entre Oracle y Ms SQL Server

5/16/2018 Diferencias Entre Oracle y Ms SQL Server - slidepdf.com

http://slidepdf.com/reader/full/diferencias-entre-oracle-y-ms-sql-server 12/14

vacía) se hacenulo.

8.

Última Actualización: 06/06/1999Se aplica a: Oracle 7.3 +, MS SQL Server 6.5 +

La siguiente tabla muestra algunas diferencias en cómo se gestionan las bases dedatos en Oracle y MS SQL Server:

Descripción Oracle MS SQL Server

Modelo debase de datos

No hay basede datosmodelo

Recién bases de datos creadas heredancaracterísticas (usuarios, etc) a partir de labase de datos especial llamado "modelo".

9.

Última Actualización: 06/06/1999Se aplica a: Oracle 7.3 +, MS SQL Server 6.5 +

La siguiente tabla muestra algunas diferencias en cómo los objetos de base de datos(tablas, vistas, procedimientos almacenados, etc) se manejen de Oracle y MS SQLServer:

Descripción Oracle MS SQL Server

Nombrecompleto

[Esquema.] Tabla[Esquema.]Ampliar

[[Servidor [.]] Base de datos [.] []Propietario.] Tabla[[Servidor [.]] Base de datos [.] []Propietario.] Ampliar

Temp tablas

8i Pre: Las tablastemporales se debeneliminarexplícitamente

8i +: CREATEtabla temporal

global

tabla # - Cualquier tabladenominada a partir de un signode número (#) se borraautomáticamente cuando elusuario cierra la sesión o delprocedimiento de los fines.# # Mesa - Igual que el anterior,excepto que la tabla es accesible aotros usuarios.

Re-crear unobjeto

CREATE ORREPLACE ...

LA GOTA ...CREAR ...

Crear vista CREAR FUERZA No se admite. Tablas utilizadas

Page 13: Diferencias Entre Oracle y Ms SQL Server

5/16/2018 Diferencias Entre Oracle y Ms SQL Server - slidepdf.com

http://slidepdf.com/reader/full/diferencias-entre-oracle-y-ms-sql-server 13/14

antes de lastablasdependientes

DE VISTA por vista debe existir antes vistapuede ser creado.

10.

Última Actualización: 06/06/1999Se aplica a: Oracle 7.3 +, MS SQL Server 6.5 +

La siguiente tabla muestra algunas diferencias en cómo los usuarios se gestionan deOracle y MS SQL Server:

Descripción Oracle MS SQL Server

La pertenenciaa grupos

Cada usuario puede sermiembro de cualquier

número de grupos.

Cada usuario puede sermiembro de un solo grupo

que no sea "pública".

11.

Última Actualización: 06/06/1999Se aplica a: Oracle 7.3 +, MS SQL Server 6.5 +

La siguiente tabla muestra las diferentes técnicas utilizadas en Oracle y MS SQLServer para interactuar con MS ADO, RDO, etc:

Descripción Oracle MS SQL Server

Devolver un conjuntode registros a lapersona que llama

Devuelve unidentificador de uncursor.Para más información:Véase el artículo de KBQ174679 de MS.

SELECT sin cláusulaINTO;Selecciona varias talesregresar variosconjuntos de registros

Page 14: Diferencias Entre Oracle y Ms SQL Server

5/16/2018 Diferencias Entre Oracle y Ms SQL Server - slidepdf.com

http://slidepdf.com/reader/full/diferencias-entre-oracle-y-ms-sql-server 14/14

12.

Última Actualización: 06/06/1999Se aplica a: Oracle 7.3 +, MS SQL Server 6.5 +

La siguiente tabla muestra las diferencias entre los diversos Oracle y MS SQLServer:

Descripción Oracle MS SQL Server

Generar números únicosCREATESEQUENCE

IDENTIDADcolumna de unatabla

Cascada SUPRDELETECASCADE ...

(Uso dedisparadores)

Llamar a una función definida por el

usuario a partir de una instrucciónSQL (como la columna de SELECT oexpresión en la cláusula WHERE)

el apoyo No se admite