tamaño de tabla

09/08/2006 - 18:33 por Julian Uribe | Informe spam
hola amigos,
cómo hago para delimitar el número de registros en un tabla en especial, es
decir, necesito que una tabla específica no cresca mas de 25 registros, es
posible hacerlo?, cómo lo hago?

gracias,
Rumos
 

Leer las respuestas

#1 Alejandro Mesa
09/08/2006 - 19:07 | Informe spam
Julian,

Quizas usando un trigger "instead of".

Ejemplo:

create table dbo.t1 (
c1 int not null identity unique,
c2 int null
)
go

create trigger tr_t1_io_ins on dbo.t1
instead of insert
as
if ((select count(*) from dbo.t1) + (select count(*) from inserted)) > 25
begin
raiserror ('no puedo insertar el batch porque solo se permiten 25 filas
en la tabla.', 16, 1)
end
else
insert into dbo.t1(c2)
select c2 from inserted
go

declare @i int

set @i = 1

while @i <= 25
begin
insert into dbo.t1 default values
set @i = @i + 1
end
go

select * from dbo.t1
go

insert into dbo.t1 default values
go

drop table dbo.t1
go

Recuerda que los triggers pueden deshabilitarse (alter table) y tambien
puede apagarse la opcion para que no se disparen de forma anidada "nested
triggers".


AMB


"Julian Uribe" wrote:

hola amigos,
cómo hago para delimitar el número de registros en un tabla en especial, es
decir, necesito que una tabla específica no cresca mas de 25 registros, es
posible hacerlo?, cómo lo hago?

gracias,
Rumos

Preguntas similares