tareas

Páginas: 5 (1176 palabras) Publicado: 21 de septiembre de 2013
GUIA PARA CREACIÓN DE TRIGGERS EN SQL-SERVER
Se pueden crear y administrar los desencadenadores de cada tabla desde el Administrador Corporativo. Para ello, una vez posicionado sobre la tabla en que se quiere crear o modificar un desencadenador, se accede al menú pulsando el botón derecho del ratón.

De esta forma sólo hay que especificar el nombre del desencadenador, la tabla en la queestá y sobre la que actúa, el motivo por el que se dispara (inserción, actualización o borrado), y la secuencia de acciones programadas.

Sintaxis
 
CREATE TRIGGER nombreDesencadenador
ON tabla
[WITH ENCRYPTION]
{
    {FOR { [DELETE] [,] [INSERT] [,] [UPDATE] }
        [WITH APPEND]
        [NOT FOR REPLICATION]
        AS
            instrucciónSQL [...n]

    }
    |
    {FOR {[INSERT] [,] [UPDATE] }
        [WITH APPEND]
        [NOT FOR REPLICATION]
        AS
        {    IF UPDATE (columna)
            [{AND | OR} UPDATE (columna)]
                [...n]
            | IF (COLUMNS_UPDATED() {operadorNivelBit} máscaraBitsActualizada)
                { operadorComparación} máscaraBitsColumna [...n]
        }
            instrucciónSQL [...n]

    }
}
 Ejemplo:
 
El siguiente desencadenador de ejemplo imprime un mensaje en el cliente cuando alguien intenta agregar o cambiar datos en la tabla titles de la base de datos Pubs.
 
USE pubs
IF EXISTS (SELECT name FROM sysobjects
        WHERE name = 'reminder' AND type = 'TR')
    DROP TRIGGER reminder
GO
CREATE TRIGGER reminder
ON titles
FOR INSERT, UPDATE
AS RAISERROR (50009, 16, 10)
GOOtro Ejemplo de un trigger asociado a la tabla employee de la BD Pubs

IF OBJECT_ID('dbo.employee_insupd') IS NOT NULL
BEGIN
DROP TRIGGER dbo.employee_insupd
IF OBJECT_ID('dbo.employee_insupd') IS NOT NULL
PRINT '>'
ELSE
PRINT '>'
END
go
CREATE TRIGGER employee_insupd
ON employee
FOR insert, UPDATE
AS
--Get the range of level for this job typefrom the jobs table.
declare @min_lvl tinyint,
@max_lvl tinyint,
@emp_lvl tinyint,
@job_id smallint

select @min_lvl = min_lvl,
@max_lvl = max_lvl,
@emp_lvl = i.job_lvl,
@job_id = i.job_id
from employee e,
jobs j,
inserted I --- Tabla Temporal de SQL en donde se almacenan losvalores a insertar
where e.emp_id = i.emp_id
AND i.job_id = j.job_id

IF (@job_id = 1) and (@emp_lvl 10)
begin
raiserror ('Job id 1 expects the default level of 10.',16,1)
ROLLBACK TRANSACTION
end
ELSE
IF NOT (@emp_lvl BETWEEN @min_lvl AND @max_lvl)
begin
raiserror ('The level for job_id:%d should be between %d and %d.',
16, 1, @job_id, @min_lvl, @max_lvl)ROLLBACK TRANSACTION
end
go
IF OBJECT_ID('dbo.employee_insupd') IS NOT NULL
PRINT '>'
ELSE
PRINT '>'
go




Tipo de datos
La integridad es una propiedad básica de las bases de datos. El tipo más básico de integridad es la definición del tipos de datos que se puede almacenar en cada columna. Esto no solo restringe los "caracteres" que se pueden almacenar en cada columna, sinoque también proporciona a SQL Server un conocimiento básico sobre la semántica de los datos.
Se debe seleccionar ciudadosamente los tipos de datos a emplear en una tabla. Los tipos de datos que se seleccionen tienen implicaciones en cuanto a la utilización del espacio, el rendimiento, y otras cuestiones relativas a su sistema. SQL Server permite cambiar los tipos de datos de las tablas existentes,siempre que sea posible una conversión implícita.

Tipo de Datos
Nombre
Características
Caracteres
char
Longitud fija
Caracteres
nchar
Longitud fija Unicode
Caracteres
varchar
Longitud variable
Caracteres
nvarchar
Longitud variable Unicode
Caracteres
varbinary
Binario
Caracteres
image
Para objetos binarios (como imágenes) de hastas 2 GB por fila
Caracteres
timestamp...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Tareas tareas y mas tareas
  • tareas tareas
  • Taran Taran
  • tareas tareas
  • Tareas Y Tareas
  • Mis tareas...Tus tareas
  • Tareas de Tareas
  • Tareas

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS