3 +. Última Actualización: 24/04/2001 Se aplica a: Oracle 7.Una por cada servidor Bloques y extensiones Software de red Flujo de datos de protocolo Entre mayúsculas y minúsculas de los nombres de tablas. MS SQL Server 6. dbo Base de datos de catálogo . dba propietario de la base Diccionario de Los datos sobre la base de Datos datos .5 + La siguiente tabla muestra algunas diferencias en los conceptos y terminología entre Oracle y MS SQL Server: Concepto / Plazo Base de datos del motor Base de datos (colección de tablas) Funciones grupos Oracle base de datos esquema funciones MS SQL Server base de datos del servidor base de datos grupos sa.1. etc Sinónimos Readonly transacción bloques y extensiones SQL * Net Sustrato de red transparente (TNS) entre mayúsculas y minúsculas el apoyo el apoyo .Una por cada servidor páginas y extensiones Biblioteca de red Secuencia de datos tabular (TDS) depende del orden de los caracteres tipo.Uno por base de datos "Maestro" base de datos . columnas. por defecto es entre mayúsculas y minúsculas No se admite No se admite Base de datos de la cuenta de administrador.

SMALLINT (2 bytes).0) Cadena de longitud variable VARCHAR (n). DINERO. BIT (un poco) NUMÉRICO. smalldatetime. varbinary (n). smallmoney Float.Límite de 4 KB en una columna .Límite de 32 KB en una variable . MS SQL Server 6. BINARY variable (n) .5) . número (n.TIMESTAMP de autoactualización Binary (n). INTEGER (n). diciembre (n. numérico (n. REAL DATETIME.Límite de 255 (6. Float. CHAR variable (n).Límite de 255 (6.Límite de 8 KB (7. d).5) . float (n). carácter (n) .0) Punto Fijo Número. (n).Límite de 2 KB VARCHAR2 (n). VARCHAR (n) . DECIMAL (n). TIMESTAMP . SMALLINT MS SQL Server CHAR (n). DECIMAL. float (n). d).Límite de 8 KB (7. numérico (n).2.Límite de 8 KB (7. de doble precisión. Última Actualización: 06/06/1999 Se aplica a: Oracle 7. TINYINT (1 byte). d). INT (4 bytes).Límite de 255 (6.5) . DEC (n).Límite de 255 bytes . DEC. d) DECIMAL De punto flotante Fecha FECHA Binaria RAW (n) .3 +. DECIMAL (n. FLOAT (n.VARCHAR es obsoleto INTEGER. CHARACTER VARYING (n) . d).5 + La siguiente tabla muestra los tipos de datos correspondientes en Oracle y MS SQL Server: Tipo de datos Cadena de longitud fija Oracle CHAR (n) .0) Entero INTEGER (4 bytes).

Límite de 4 GB NCHAR (n).Los mismos límites que CHAR. VARCHAR. CLOB .5) 8060 bytes (7. GUID) 3.5 + La siguiente tabla muestra las diferencias en los límites de Oracle y MS SQL Server: Descripción Columnas por tabla Tamaño de la fila Oracle 1000 ilimitado MS SQL Server 250 (6.0) . NACIONAL CHAR (n).5) 1024 (7. NCLOB CARÁCTER NACIONAL .Límite de uno por TEXTO cada fila de la tabla .Límite de 2 GB . LONG . Ntext. text NACIONAL VARCHAR.Límite de 2 GB BLOB .Límite de uno por IMAGEN cada fila de la tabla .Los mismos VARIABLE (n) límites que CHAR. MS SQL Server 6. supported> <No MLSLABEL RAW UNIQUEIDENTIFIER (versión 7. Última Actualización: 14/06/2000 Se aplica a: Oracle 7. de carácter nacional (n) NCHAR (n) NVARCHAR (n).Límite de 2 GB CLOB .Grandes cadenas LONG.Límite de 4 GB LONG RAW .0) 1962 bytes (6. NACIONAL NVARCHAR (n) VARIABLE CHAR (n).Límite de 2 GB .3 +.0) Número único de 128 bits supported> <No (UUID. TEXT BFILE supported> <No (Utilizar una columna de identidad) Binary Large caracteres multi-byte OS Archivo Identificador de implícita columna fila ROWID OS seguro multinacional MLSLABEL.

Última Actualización: 06/07/1999 Se aplica a: Oracle 7. y columnas (puntero de 16 de imágenes por fila bytes por) Los índices agrupados por tabla 1 No índices agrupados por ilimitado tabla Columnas por índice Índice de tamaño de fila 16 2k bytes Identificador de longitud 30 caracteres Tablas por SELECCIONAR El código fuente por procedimiento almacenado Datos de los límites de tipo ilimitado 4.0) (Ver tipos de datos ) ilimitado LOB.Incluye punteros.0) 16 (6.5) 256 (7. MS SQL Server 6. pero no los datos.5) 128 caracteres (7. TEXT.3 +. Éstos son algunos que se diferencian: Descripción La concatenación de cadenas Oracle texto1 | | texto2 MS SQL Server cadena1 cadena2 + .5 + La mayoría de los operadores son los mismos en Oracle y MS SQL Server. para el texto y columnas de imágenes LONG y LONG RAW columnas por fila 1 (debe ser la ilimitado (puntero de 16 última columna) bytes por) ilimitado (puntero de 16 bytes por) 1 249 16 900 bytes 30 caracteres (6..0) 64KB (6.5) 250 MB (7.

inferior. SUM.3 +. REDONDO. CAST . CAD. Por ejemplo. caracteres) sean espacios en blanco Reemplazar caracteres en CAMBIAR la cadena Convertir el número de To_char COSAS STR.5. Última Actualización: 06/07/1999 Se aplica a: Oracle 7. iniciales o finales que no <none> RTRIM (str.5 + Oracle y MS SQL Server ofrece muchas de las mismas funciones integradas. Para obtener una lista completa de más información. en blanco RPAD Recorte caracteres LTRIM (str. AVG. ambos ofrecen ABS. MS SQL Server 6. cad2) Comisión de Derechos Humanos INITCAP Buscar cadena en cadena INSTR Encuentra el patrón en la INSTR cadena Cadena de longitud LONGITUD Pad cadena con espacios LPAD. consulte "Migración de Aplicaciones de Oracle a SQL Server" Descripción Más pequeño> entero = n CEIL Módulo Truncar número Máximo o el mínimo número o una cadena en la lista Traducir NULL para n MOD TRUNCAR MAYOR. COUNT. superior. etc La siguiente tabla muestra algunas de las funciones correspondientes que no tienen el mismo nombre. ASCII. POR LO MENOS NVL Oracle MS SQL Server TECHO % <none> <none> ISNULL NULLIF cad1 + cad2 CHAR <none> CHARINDEX PATINDEX DATALENGTH <none> Return null si dos valores DECODE son iguales La concatenación de cadenas Convierte ASCII a caracteres Capitalizar las letras iniciales de las palabras CONCAT (cad1. caracteres).

EL USUARIO o el nombre Identificación del número de bases de datos del UID. CONVERTIR CAST Tiempo de conversión de NEW_TIME la zona día de la semana siguiente después de la fecha especificada Next_day Convertir fecha a cadena To_char Convertir cadena a fecha TO_DATE Convertir fecha con el número Fecha de vuelta Fecha en que se trunca Fecha actual TO_NUMBER (to_char DATEPART (d)) RONDA TRUNCAR SYSDATE CONVERTIR CONVERTIR GETDATE CAST CONVERTIR CASO . SUSER_NAME USER_ID. EL USUARIO usuario o el nombre El usuario actual USUARIO .. CUANDO o COALESCE SUSER_ID. USER_NAME USUARIO Convertir hexadecimal a HEXTORAW binario Convertir binario a hexadecimal Si la declaración en una expresión RAWTOHEX DECODE entrada número de identificación del usuario UID..serie Convertir cadena en número Obtener subcadena de una cadena TO_NUMBER SUBSTR CAST SUBSTRING <none> DATEADD Char para la traducción TRADUCIR en la cadena de caracteres Además de la fecha Fecha de la resta Último día del mes ADD_MONTH o + MONTHS_BETWEEN o DATEDIFF LAST_DAY <none> <none> <none> DATENAME.

. pero ya no se recomienda: DONDE column1 *= Columna2 FROM tabla1 RIGHT OUTER JOIN tabla2 ON table1.column2 Combinación externa izquierda DONDE column1 = Columna2 (+) Nota: La siguiente sintaxis también es compatible.column2 Combinación DONDE column1 (+) = Columna2 Nota: La siguiente externa derecha sintaxis también es compatible.6. FROM tabla1 FULL OUTER JOIN tabla2 ON table1.. MS SQL Server 6.. pero ya no se recomienda: DONDE column1 =* Columna2 Combinación externa completa SELECT sin DE 'SELECT' hola mundo de la doble datos de CREATE TABLE AS SELECT SELECT en una ..column1 = table2.5 + En la tabla siguiente se muestra la sintaxis utilizada en diferentes Oracle y MS SQL Server para el mismo las operaciones de SQL: Descripción Oracle MS SQL Server FROM tabla1 LEFT OUTER JOIN tabla2 ON table1. INTO . Última Actualización: 03/21/2001 Se aplica a: Oracle 7.column1 = table2.3 +.column2 'Hola mundo' SELECT SELECT .column1 = table2.

.. INTERSECT dos SELECT .. MENOS SELECT ... table_name (TABLOCKX) FILLFACTOR = 100 DECLARE @ tipo varname bloqueo de tabla LOCK TABLE ..tabla Intersección de SELECT .... table_name (TABLOCK) SELECT . SELECCIONA EXISTE (SELECT . supported> <No ... Crear una vista y INSERT INTO ella.. DONDE EXISTE (SELECT . combinación UPDATE una tabla basada en supported> <No criterios de otra tabla Eliminar filas de una tabla basada supported> <No en criterios de otra tabla Quitar una columna de una <No apoyado hasta Oracle 8i> tabla Readonly VISTA Punto para Salvar Tabla de bloqueos CREATE VIEW . DECLARO tipo varname: = valor... Crear una vista y INSERT INTO ella. IN SHARE MODE DELETE FROM tabla FROM ... CON READONLY SAVEPOINT LOCK TABLE . Resta de dos DONDE NO SELECT .....) SELECT .. Actualizar datos en una UPDATE SELECT .. SELECCIONA SELECT . en modo Exclusiva exclusivo La reserva de espacio de índice Declarar una variable local Inicializar una PCTFREE = 0 DECLARO tipo varname..... ALTER TABLE nombre_tabla DROP COLUMN nombre_columna GRANT SELECT ....... SALVAR LA TRANSACCIÓN SELECT ...) INSERT en un JOIN INSERT INTO SELECT .. UPDATE FROM tabla ..

..... Tuve el DOBLE DE en la columna equivocada. FIN MIENTRAS . EMPEZAR ..) required> <Ninguna Gracias a Tom Johnston para la captura de un error en este consejo... ENTONCES Si la declaración MÁS ENDIF While Otros lazos MIENTRAS .. SALIR AL Impresión de salida Declaración de terminación DBMS_OUTPUT. SI . .variable local Declarar una constante varname DECLARAR CONSTANTES tipo: = valor. END LOOP LAZO .... END LOOP Bucle de salida SALIR.....PUT_LINE Levante de error RAISE_APPLICATION_ERROR RAISERROR Punto y coma (.. LAZO END LOOP PARA ... supported> <No SET @ nombre_var = valor SELECT @ nombre_var = valor Asignar a una variable varname: valor = valor SELECT INTO varname Asignar a una variable de un cursor La declaración de un cursor FETCH NEXT cursorname TRAER EN varname cursorname DE EN varname CURSOR CurName (s param) ES SELECT . CONTINUE IMPRESIÓN SI .. FIN Else begin .. FIN supported> <No BREAK.... ENTONCES ELSIF .. EMPEZAR . DECLARE CURSOR CurName PARA SELECCIONAR .

5 + La siguiente tabla muestra algunas diferencias semánticas entre Oracle y MS SQL Server: Descripción Comprometerse Oracle Compromiso explícito declaración requerida Base de datos se reversión temporal interno para reconstruir los datos más recientes cometidos por los lectores. La conversión a NULL Marco una columna VARCHAR2 a''(la cadena CERRAR cursor no publicación del informe.3 +. lector puede leer datos sin confirmar. simplemente no se corresponde con '123 'y se salta sin ningún error.7. MS SQL Server 6. Última Actualización: 06/06/1999 Se aplica a: Oracle 7. Configuración de una columna VARCHAR a''la convierte en la cadena vacía (no es NULL). puede volver a abrir el cursor. Usted debe llamar explícitamente a CURSOR DEALLOCATE. Hasta entonces. y luego los datos se obtienen de la tabla. o se ve obligado a esperar para el escritor para confirmar o deshacer. No se puede volver a abrir. El número 123 se convierte en la cadena '123 'una vez. Lectura de datos no confirmados Liberar los datos CERRAR del cursor CURSOR libera todos los datos. MS SQL Server Automática a menos que cometan IMPLICIT_TRANSACTIONS SET Dependiendo de las opciones. un error de tiempo de ejecución. Si cualquier fila contiene un valor que no se puede convertir en un número. . Implícito de conversión de datos en una declaración como la siguiente donde vc es una columna de tipo VARCHAR2: En cada fila se recupera de la tabla. Si cualquier fila contiene un valor que no se SELECT * FROM persona puede convertir Siendo Vc = 123 en un número. se realiza un intento para convertirlo en un número para la comparación con 123.

CREATE OR REPLACE . MS SQL Server 6. vistas..] Ampliar Temp tablas tabla # . Tablas utilizadas . etc) a partir de la modelo base de datos especial llamado "modelo".] [] Propietario. Última Actualización: 06/06/1999 Se aplica a: Oracle 7.] [] Propietario.. CREAR .]] Base de datos [. Re-crear un objeto Crear vista CREAR FUERZA No se admite. LA GOTA ..vacía) se hace nulo..3 +.5 + La siguiente tabla muestra algunas diferencias en cómo se gestionan las bases de datos en Oracle y MS SQL Server: Descripción Modelo de base de datos Oracle MS SQL Server No hay base Recién bases de datos creadas heredan de datos características (usuarios. 8i +: CREATE # # Mesa . 8. Última Actualización: 06/06/1999 Se aplica a: Oracle 7.. procedimientos almacenados. MS SQL Server 6.] Tabla [[Servidor [.] Tabla [Esquema.Igual que el anterior.]] Base de datos [.] Ampliar MS SQL Server [[Servidor [. 9.5 + La siguiente tabla muestra algunas diferencias en cómo los objetos de base de datos (tablas.3 +. etc) se manejen de Oracle y MS SQL Server: Descripción Nombre completo Oracle [Esquema. tabla temporal excepto que la tabla es accesible a global otros usuarios..Cualquier tabla 8i Pre: Las tablas denominada a partir de un signo temporales se deben de número (#) se borra eliminar automáticamente cuando el explícitamente usuario cierra la sesión o del procedimiento de los fines.

MS SQL Server 6. MS SQL Server 6. 11. RDO.antes de las tablas dependientes DE VISTA por vista debe existir antes vista puede ser creado. .3 +. etc: Descripción Oracle MS SQL Server SELECT sin cláusula INTO.3 +. Cada usuario puede ser La pertenencia miembro de cualquier a grupos número de grupos. 10. Última Actualización: 06/06/1999 Se aplica a: Oracle 7.5 + La siguiente tabla muestra algunas diferencias en cómo los usuarios se gestionan de Oracle y MS SQL Server: Descripción Oracle MS SQL Server Cada usuario puede ser miembro de un solo grupo que no sea "pública". Selecciona varias tales regresar varios conjuntos de registros Devuelve un identificador de un Devolver un conjunto cursor.5 + La siguiente tabla muestra las diferentes técnicas utilizadas en Oracle y MS SQL Server para interactuar con MS ADO. Última Actualización: 06/06/1999 Se aplica a: Oracle 7. de registros a la Para más información: persona que llama Véase el artículo de KB Q174679 de MS.

12. Última Actualización: 06/06/1999 Se aplica a: Oracle 7. MS SQL Server 6.3 +. disparadores) No se admite Llamar a una función definida por el usuario a partir de una instrucción el apoyo SQL (como la columna de SELECT o expresión en la cláusula WHERE) ...5 + La siguiente tabla muestra las diferencias entre los diversos Oracle y MS SQL Server: Descripción Generar números únicos Cascada SUPR Oracle CREATE SEQUENCE MS SQL Server IDENTIDAD columna de una tabla DELETE (Uso de CASCADE .