lunes, 28 de septiembre de 2009

Modificar nombre de un campo. SQL SERVER

NO PODEMOS CAMBIAR EL NOMBRE DE UN CAMPO DE UNA TABLA CON ALTER TABLE, para ello usamos sp_rename; un SP de sistema.

Copio fielmente info del MSDN de SQL SERVER:

sp_rename (Transact-SQL)

Cambia el nombre de un objeto creado por el usuario en la base de datos actual. Este objeto puede ser una tabla, un índice, una columna, un tipo de datos de alias o un tipo definido por el usuario CLR (Common Language Runtime) de Microsoft .NET Framework.

ms188351.Caution(es-es,SQL.100).gifAdvertencia:
Al cambiar cualquier parte del nombre de un objeto se pueden interrumpir secuencias de comandos y procedimientos almacenados. Se recomienda no utilizar esta instrucción para cambiar el nombre a procedimientos almacenados, desencadenadores, funciones definidas por el usuario o vistas; en su lugar, quite el objeto y vuelva a crearlo con el nuevo nombre.

Icono de vínculo a temas Convenciones de sintaxis de Transact-SQL

sp_rename [ @objname = ] 'object_name' , [ @newname = ] 'new_name'
[ , [ @objtype = ] 'object_type' ]

jueves, 5 de marzo de 2009

SQL SERVER 2005

CAMBIAR COLLATE EN CONSULTAS

Para hacer "casting" de collate cuando necesitamos comparar exceptuando acentos, mayusculas, minusculas, podemos usar esto:

SELECT *
FROM MARCA_Documento
WHERE (Descripcion LIKE '%' + 'PUBLICACION' + '%' collate Modern_Spanish_CI_AI) OR (Titulo LIKE '%' + 'PUBLICACION' + '%' collate Modern_Spanish_CI_AI)
ORDER BY FHAlta DESC

Usamos "collate" para indicar que el campo anterior se "convertira" al collate indicado. OK?


Modificar/eliminar columna de una tabla
Eliminar una restriccion de una tabla, usamos:

ALTER TABLE nombre_tabla DROP CONSTRAINT nombre_restriccion

Eliminar una columna:
ALTER TABLE nombre_tabla
DROP COLUMN nombre_columna

Modificar el nombre de una columna:

EXEC
sp_rename 'Table.ColumnaVieja', 'ColumnaNueva', 'COLUMN';

ASP.NET (GRIDVIEW)

CommandArgument

Para extraer de cada fila de la grilla su nro de indice usamos:

((GridViewRow) Container).RowIndex

Ejemplo: