FUNCTION

18/05/2005 - 16:12 por Pablo | Informe spam
Hola tronss.

Necesito automatizar el reparto de identificadores de registro.

Lo que es un contado automatico, pero con una funcion o procedimiento
almacenado.

pero no me ermit

e meter un 'update' dentro de la funcion.

CREATE FUNCTION ent ()
RETURNS int
AS
BEGIN
declare @c int
SET @c = (select id_entidad from contadores)
UPDATE contadores SET id_entidad = (id_entidad + 1) FROM contadores
RETURN @c
END


COMO LO HARIAIS :::?

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
18/05/2005 - 18:49 | Informe spam
Pablo.

Fuera bueno que lo pudieramos hacer usando una funcion definida por el
usuario, de esa manera pudieramos usar la udf como fuente de una restriccion
DEFAULT y asi pudieramos hasta insertar en masas sin tener que llamar a la
funcion, pero SQL Server no permite actualizar tablas de bd dentro de una
udf. Tendrias que crear un procedimiento almacenado y esto te limiataria a no
poder insertar en masa sin usar un cursor.

create procedure dbo.usp_proximo_id
@newid int output
as
set nocount on

update contadores
set @newid = id_entidad = id_entidad + 1

return @@error
go

create table t1 (
c1 int not null check (c1 > 0)
constraint pk_t1 primary key (c1)
)
go

declare @i int

exec dbo.usp_proximo_id @i output

if @i is not null
insert into t1 values(@i)
go


AMB

"Pablo" wrote:

Hola tronss.

Necesito automatizar el reparto de identificadores de registro.

Lo que es un contado automatico, pero con una funcion o procedimiento
almacenado.

pero no me ermit

e meter un 'update' dentro de la funcion.

CREATE FUNCTION ent ()
RETURNS int
AS
BEGIN
declare @c int
SET @c = (select id_entidad from contadores)
UPDATE contadores SET id_entidad = (id_entidad + 1) FROM contadores
RETURN @c
END


COMO LO HARIAIS :::?






email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida