PROBLEMA: Cuantos de nosotros no hemos nombrado una
llave primaria como ID, o una tabla que utilizamos a para almacenar los
usuarios del sistema como USER, aunque SQL SERVER permite usar dichas palabras
reservadas como nombres de objetos, con el pasar de los días se vuelve un poco
complejo estar utilizando
los corchetes o brackets [ ] para hacer referencia los objetos que fueron
nombrados de esta manera.
SOLUCION: Más que una solución, les comparto
un poco de la experiencia que he tenido que vivir en los últimos días a causa
de manipular una BD existente y que fuera creada utilizando estas palabras en
los objetos, tal vez podrán decir ¨Naaaa no hay problema, no pasa nada si le ponemos los corchetes¨, pero créanme
que se vuelve algo tedioso.
Intentemos ejecutar la siguiente consulta:
USE AdventureWorks2014; CREATE TABLE table ( sequence INT IDENTITY(1,1) , user VARCHAR(100) , level SMALLINT , date DATETIME );
Pero que pasa si encerramos los nombres dentro de corchetes []
USE AdventureWorks2014; CREATE TABLE [table] ( [sequence] INT IDENTITY(1,1) , [user] VARCHAR(100) , [level] SMALLINT , [date] DATETIME );
Ahora intentemos realizar una consulta sobre la tabla :
USE AdventureWorks2014; SELECT * FROM table;
No es posible, tenemos que encerrar el nombre de la tabla dentro de
corchetes [ ]
USE AdventureWorks2014; SELECT * FROM [table];
Aunque no tenemos datos en la tabla, si podemos realizar la consulta.
Ahora, esto es responsabilidad de las personas encargadas del diseño de la
BD, sin embargo recuerden que debemos facilitar el mantenimiento y las consultas
a todas las demás personas que vayan a requerir del acceso a la BD, por lo
tanto es importante tomar todas estas consideraciones en cuenta, mi recomendación: No debemos usar palabras reservadas para nombras objetos.
Nos leemos después, SALUDOS!.
COMPARTE ESTA INFORMACION SI TE PARECIO INTERESANTE
0 comentarios:
Publicar un comentario