lunes, 28 de febrero de 2011

Comandos SQL Server

Aquí les dejo un listado de comando que son bueno tener a la mano cuando estamos trabajando con el SQL Server


Formatos Fecha
--Retorna un string con la fecha en el formato dd/mm/yyyy ej. 21/11/2009
SELECT CONVERT(VARCHAR(10),GETDATE() , 103)
--Obtener el año de una fecha
SELECT  YEAR(GetDate()) 
SELECT  MONTH(GetDate()) 


Modificaciones de tablas 
-- Agregando nuevas columnas
ALTER TABLE MiTabla
ADD CreadoPor varchar(100) NOT NULL,
    FechaCreacion DATETIME NOT NULL,
    ModificadoPor VARCHAR(100) NULL,
    FechaModificacion datetime NULL

--Modificando columnas existentes
ALTER TABLE MiTabla ALTER COLUMN 
Columna_Modificar BIT  NOT NULL
ALTER TABLE MiTabla ALTER COLUMN 
Columna_Modificar VARCHAR(200)  NOT NULL

Creando de campo únicos
-- Creando columnas únicas
ALTER TABLE MiTabla ADD CONSTRAINT MiConstraint_Unique UNIQUE( MiColumna1, MiColumna2 )
--Ej Un nombre municipio unico dentro de un departamento.
ALTER TABLE dbo.Municipio ADD CONSTRAINT NombreMunicipioEnDepartamento_Unique UNIQUE(DepartamentoId, Nombre)


Transacciones
-- Creando un bloque de transacciones 
    BEGIN
        BEGIN TRY 
            -- Iniciamos la transaccion
            BEGIN TRANSACTION
             --
             -- Tus operaciones CRUD (Create, Read, Update and Delete)
             --Guardamos los cambios ejecutados durante la transacción.
           COMMIT TRANSACTION
           
        END TRY 
        BEGIN CATCH
        
-- Revertimos la actividades de la transaccion
            ROLLBACK TRANSACTION
            PRINT 'Se presento el siguiente error en la transacción ' + ERROR_MESSAGE()
            
        END CATCH
      
    END

Funciones Escalares
--Creamos una función con un parámetro tipo entero
CREATE     FUNCTION NombreFuncion ( @IdParametro INT )
--Especificamos el tipo de dato a retornar
RETURNS INTEGER
--Inicia el cuerpo de la funcion
AS BEGIN
--Declaramos la variable de retorno
    DECLARE @ReturnValue AS INTEGER
-- Asignamos valores a la variable de retorno
    SET @ReturnValue =  ( SELECT  MiColumna
                                FROM    MiTabla
                                 WHERE       IdMiTabla =@IdParametro
                                                ) + 100
-- Retornamos el resultado de la función
    RETURN @ReturnValue
END 
Activar soporte para diagrama de base de datos
--En este caso concedemos permisos al usuario sa.
EXEC sp_dbcmptlevel 'MiBaseDatos', '90';
ALTER AUTHORIZATION ON DATABASE::MiBaseDatos TO sa 


No hay comentarios: