Documente Academic
Documente Profesional
Documente Cultură
php/DML_(Manipulating)
DML (Manipulating)
De Deister KB
Haremos referencia a cada una de las sentencias SQL que permiten efectuar manipulación de datos como son (UPDATE, INSERT, ALTER
...). Viendo en cada una de ellas las diferencias o coincidencias existentes para los distintos agentes de bases de datos.
Contenido
1 INSERT
1.1 Valores nulos
2 UPDATE
3 DELETE
4 SELECCIÓN, INSERCIÓN y MODIFICACIÓN DE NCHAR Y NVARCHAR
5 CONSIDERACIONES
5.1 PALABRAS RESERVADAS
5.2 Cadenas vacías
5.2.1 Recomendación
INSERT
INSERT INTO nombre_tabla VALUES (col1,col2..)
Los valores de las columnas de tipo fecha o caracteres irán entre comillas simples.
Valores nulos
La palabra reservada NULL dispone del equivalente , con los consiguientes problemas que ello puede acarrear.
1 de 4 21/06/2018 13:26
DML (Manipulating) - Deister KB http://kb.deister.net/index.php/DML_(Manipulating)
UPDATE
UPDATE nombre_tabla SET col1 = value [, col2 = value ..]
Debemos utilizar la expresión general de UPDATE recordando el tratamiento de NULOS y comillas mencionado en el apartado de INSERT.
--Update normal.
--Segunda expresión
--Error
--Resultado:
DELETE
DELETE FROM nombre_tabla WHERE (condición);
Sólo se pueden usar comillas simples. Para select, insert o update se debe colocar antes una "N" del valor para indicar que se trata de NCHAR
o NVARCHAR. También se puede usar la función TRANSLATE, para traducir de tipo de dato CHAR a NCHAR y VARCHAR A
NVARCHAR.
2 de 4 21/06/2018 13:26
DML (Manipulating) - Deister KB http://kb.deister.net/index.php/DML_(Manipulating)
UPDATE prueba
SET col_nchar = TRANSLATE(col_char USING NCHAR_CS);
CONSIDERACIONES
PALABRAS RESERVADAS
Son palabras utilizadas por el sistema para realizar diversas acciones, su uso debe hacerse son precaución cuando se utilizan fuera del
contexto para las que fueron diseñadas.
No se pueden utilizar da error, la lista de palabras reservadas se pueden consultar en la documentación SQL Reference de Oracle. Se pueden
consultar en la tabla: V$RESERVED_WORDS.
Resultado en consola:
level int
*
ERROR en línea 3:
ORA-00904: nombre de columna no válido
Cadenas vacías
Recomendación
Usando valores vacíos () para INSERT o UPDATE dará como resultado almacenamiento de NULLs con ORACLE, mientras que INFORMIX
y DB2 almacenaría los valores como una cadena de longitud cero:
Usando la expresión comparativa (col=) con ORACLE no tiene sentido porque es equivalente a (col=NULL) las expresiones se evaluarán
siempre a falso la expresión correcta debería ser (col IS NULL).
Solución :
a en Oracle :
Para incrementar la portabilidad, debería evitar el uso de cadenas de longitud cero en sentencias SQL, estas debería resolverse con
expresiones booleanas.
Obtenido de «http://kb.deister.net/index.php?title=DML_(Manipulating)&oldid=2582»
3 de 4 21/06/2018 13:26
DML (Manipulating) - Deister KB http://kb.deister.net/index.php/DML_(Manipulating)
Esta página fue modificada por última vez el 12 sep 2012, a las 10:22.
Esta página ha sido visitada 5.038 veces.
Política de protección de datos
Acerca de Deister KB
Aviso legal
4 de 4 21/06/2018 13:26