FDU como valor predeterminado

26/08/2005 - 17:12 por Alexc | Informe spam
Como hago en SQL SERVER lo sgte.?
Quiero poner como valor predeterminado de un campo a una Función o
StoreProcedure que me
devuelve el NºID autogenerado. Tal como se hace en VFox

PD.
No quiero usar el autogenerado de Sql.
Acepto toda sugerencia, es bienvenida, si es que no se puede hacer esto
utilizando funciones
talvez se podría hacer usando un Triger(descencadenante), creo haberlo hecho
hace 2 años
atrás en mi anterior trabajo, pero no me acuerdo del código e intentado
hacerlo pero no
obtengo los resultados; sólo recuerdo que utilicé la tabla temporal
INSERTED.
De antemano muchas gracias, por la ayuda que me puedan brindar.

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
26/08/2005 - 17:28 | Informe spam
Una udf no puede modificar el estado de la bd, por lo que no puedes usar una
udf para incrementar dicho valor y a su vez retornarlo. Los sp no pueden ser
usados como fuente para restricciones default. Como hacerlo a nivel de
trigger?, ni idea, pues suponiendo que este valor acepte null para poder ser
procesado dentro del trigger, no tendriamos idea del orden en que las filas
fueron insertadas y poder procesarlas en el orden correcto.

Esa es una de las ventajas de usar columnas con propiedad identity en vez de
usar columnas cuyo valor depende del valor de una columna en otra tabla. Como
te das cuentas, este valor no es autogenerado, debe ser generado de manera
explicita antes de ser usado.


AMB

"Alexc" wrote:

Como hago en SQL SERVER lo sgte.?
Quiero poner como valor predeterminado de un campo a una Función o
StoreProcedure que me
devuelve el NºID autogenerado. Tal como se hace en VFox

PD.
No quiero usar el autogenerado de Sql.
Acepto toda sugerencia, es bienvenida, si es que no se puede hacer esto
utilizando funciones
talvez se podría hacer usando un Triger(descencadenante), creo haberlo hecho
hace 2 años
atrás en mi anterior trabajo, pero no me acuerdo del código e intentado
hacerlo pero no
obtengo los resultados; sólo recuerdo que utilicé la tabla temporal
INSERTED.
De antemano muchas gracias, por la ayuda que me puedan brindar.





Respuesta Responder a este mensaje
#2 Alexc
26/08/2005 - 19:20 | Informe spam
Ok. gracias

"Alejandro Mesa" escribió en el
mensaje news:
Una udf no puede modificar el estado de la bd, por lo que no puedes usar


una
udf para incrementar dicho valor y a su vez retornarlo. Los sp no pueden


ser
usados como fuente para restricciones default. Como hacerlo a nivel de
trigger?, ni idea, pues suponiendo que este valor acepte null para poder


ser
procesado dentro del trigger, no tendriamos idea del orden en que las


filas
fueron insertadas y poder procesarlas en el orden correcto.

Esa es una de las ventajas de usar columnas con propiedad identity en vez


de
usar columnas cuyo valor depende del valor de una columna en otra tabla.


Como
te das cuentas, este valor no es autogenerado, debe ser generado de manera
explicita antes de ser usado.


AMB

"Alexc" wrote:

> Como hago en SQL SERVER lo sgte.?
> Quiero poner como valor predeterminado de un campo a una Función o
> StoreProcedure que me
> devuelve el NºID autogenerado. Tal como se hace en VFox
>
> PD.
> No quiero usar el autogenerado de Sql.
> Acepto toda sugerencia, es bienvenida, si es que no se puede hacer esto
> utilizando funciones
> talvez se podría hacer usando un Triger(descencadenante), creo haberlo


hecho
> hace 2 años
> atrás en mi anterior trabajo, pero no me acuerdo del código e intentado
> hacerlo pero no
> obtengo los resultados; sólo recuerdo que utilicé la tabla temporal
> INSERTED.
> De antemano muchas gracias, por la ayuda que me puedan brindar.
>
>
>
>
>
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida