SQL Server - PERMISOS

 
Vista:

PERMISOS

Publicado por SANDRA (34 intervenciones) el 11/08/2008 02:53:45
HOLA:

Como pedo hacer para que no se puedadn borrar ningun dato de una tabla, osea q los datos de una tabla sean solo de lectura.

saludos.
gracias..
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:PERMISOS

Publicado por sandra (34 intervenciones) el 11/08/2008 04:51:18
hola :

Me olvide aclarar que no se puedan modificar el nombre de los campos.
y que no se pueda borrar el primer dato de la tabla solamente.

gracias........
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:PERMISOS

Publicado por Isaias (3308 intervenciones) el 11/08/2008 18:38:52
Creas un TRIGGER en tu tabla y haces un ROLLBACK TRAN

Listo...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:PERMISOS

Publicado por sandra (34 intervenciones) el 11/08/2008 23:33:49
como ago un triguer y como ago el ROLLBACK TRAN ...
Es q no lo se....

gracias////
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:PERMISOS

Publicado por Gabriel (2 intervenciones) el 12/08/2008 17:46:08
Hola Sandra.
el trigger es un proceso que se ejecuta cuando se detecta algun cambio en algun elemento de la base de datos. por ejemplo, en una tabla.
para crear un trigger, debes seleccionar la tabla a la cual le aplicaras el trigger
luego, creas un nuevo desencadenador (trigger), y el sql server automaticamente te creara la plantilla para el trigger
algo asi como esto:
-- ================================================
-- Template generated from Template Explorer using:
-- Create Trigger (New Menu).SQL
--
-- Use the Specify Values for Template Parameters
-- command (Ctrl-Shift-M) to fill in the parameter
-- values below.
--
-- See additional Create Trigger templates for more
-- examples of different Trigger statements.
--
-- This block of comments will not be included in
-- the definition of the function.
-- ================================================
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE TRIGGER <Schema_Name, sysname, Schema_Name>.<Trigger_Name, sysname, Trigger_Name>
ON <Schema_Name, sysname, Schema_Name>.<Table_Name, sysname, Table_Name>
AFTER <Data_Modification_Statements, , INSERT,DELETE,UPDATE>
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;

-- Insert statements for trigger here

END
GO

luego, tal como lo menciono isaias, debes indicar el ROLLBACK TRAN dentro del cuerpo del trigger.

lo que provoca esto, es que al realizarse un cambio en la tabla, el desencadenador ejecutara automaticamente el ROLLBACK TRAN que es ni mas ni menos que un proceso de vuelta atras con los cambios detectados.

espero que esta explicacion aclare tu duda
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar