Variables globales a sesión

22/10/2003 - 13:13 por [-H-] | Informe spam
Hola.
He preguntado en otra ocasión algo parecido, pero es que
me estoy volviendo loco a buscar y no encuentro nada de
nada. Es como si no existiera nada al respecto...
Necesito definir en SQL Server (En la propia BD),
variables de sesión a las que pueda acceder en cualquier
momento desde cualquier bloque de código Transact-SQL.
Por ejemplo, una variable que me diga cuantas veces he
accedido yo como usuario a la tabla "productos" desde que
di comienzo a la sesión, o una que me diga el importe de
los productos que llevo insertados en esa tabla desde que
dio comienzo la sesión.(las podría ir actualizando por
ejemplo, con triggers). Esto que comento, está permitido
por ejemplo en Oracle.
¿Alguien sabe si se permite ese tipo de variables en SQL
Server 2000?¿cómo y donde se declaran?
Me han remitido a los paquetes DTS en este mismo for, pero
lo que entiendo quye hacen los DTS no es lo que yo necesito
(yo ,repito, variables normales, pero que me mantengan el
valor durante toda una sesión).
Mi última opción, seria implementar esas variables en la
aplicación cliente que acceda a la BD, pero no cumpliría
con mis objetivos, y me complicaría mucho la vida.
Muchas gracias, espero que alguien pueda aclararme este
problema.

Preguntas similare

Leer las respuestas

#1 Carlos Sacristan
22/10/2003 - 13:29 | Informe spam
Si mantienes la conexión abierta, puedes crear tablas temporales (en los
BOL se explican mejor que lo que pudiera hacer yo aquí) en la que almacenar
los valores que creas convenientes. También, si sabes inglés, puedes leerte
el artículo de Fernando Guerrero sobre falsas tablas temporales:
http://www.sqlmag.com/Articles/Index.cfm?ArticleID377



Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)
MVP SQL Server
Por favor, responder únicamente al foro
Se agradece la inclusión de sentencias DDL

Archivo de respuestas anteriores en:
http://groups.google.com/groups?hl=....public.es
.sqlserver

(Guía de netiquette del foro)
http://www.helpdna.net/bosqlfaq00.htm
http://perso.wanadoo.es/rubenvigon/foro

(FAQ's de SQL Server)
http://support.microsoft.com/defaul.../70faq.asp
http://www.helpdna.net/bosqlfaq.htm

"[-H-]" escribió en el mensaje
news:047b01c3988d$7c5f7ff0$
Hola.
He preguntado en otra ocasión algo parecido, pero es que
me estoy volviendo loco a buscar y no encuentro nada de
nada. Es como si no existiera nada al respecto...
Necesito definir en SQL Server (En la propia BD),
variables de sesión a las que pueda acceder en cualquier
momento desde cualquier bloque de código Transact-SQL.
Por ejemplo, una variable que me diga cuantas veces he
accedido yo como usuario a la tabla "productos" desde que
di comienzo a la sesión, o una que me diga el importe de
los productos que llevo insertados en esa tabla desde que
dio comienzo la sesión.(las podría ir actualizando por
ejemplo, con triggers). Esto que comento, está permitido
por ejemplo en Oracle.
¿Alguien sabe si se permite ese tipo de variables en SQL
Server 2000?¿cómo y donde se declaran?
Me han remitido a los paquetes DTS en este mismo for, pero
lo que entiendo quye hacen los DTS no es lo que yo necesito
(yo ,repito, variables normales, pero que me mantengan el
valor durante toda una sesión).
Mi última opción, seria implementar esas variables en la
aplicación cliente que acceda a la BD, pero no cumpliría
con mis objetivos, y me complicaría mucho la vida.
Muchas gracias, espero que alguien pueda aclararme este
problema.
Respuesta Responder a este mensaje
#2 Gustavo Larriera [MVP]
22/10/2003 - 18:19 | Informe spam
No existe el concepto de variable global de sesión en SQL Server. Puedes
implementarlo usando una tabla VARIABLES(idvariable, valorvariable,
tipodatovariable). Algo asi:

"FECHA", "2003-07-31", "DATETIME"
"TOPE", "1200", "INTEGER"
etc...

y escribir la lógica para: crear variable, destruir variable, asignarle
valor a variable, obtener valor de variable.

Gustavo Larriera, MSFT MVP-SQL
Uruguay LatAm

This message is provided "AS IS" with no warranties expressed or implied,
and confers no rights.


"[-H-]" wrote in message
news:047b01c3988d$7c5f7ff0$
Hola.
He preguntado en otra ocasión algo parecido, pero es que
me estoy volviendo loco a buscar y no encuentro nada de
nada. Es como si no existiera nada al respecto...
Necesito definir en SQL Server (En la propia BD),
variables de sesión a las que pueda acceder en cualquier
momento desde cualquier bloque de código Transact-SQL.
Por ejemplo, una variable que me diga cuantas veces he
accedido yo como usuario a la tabla "productos" desde que
di comienzo a la sesión, o una que me diga el importe de
los productos que llevo insertados en esa tabla desde que
dio comienzo la sesión.(las podría ir actualizando por
ejemplo, con triggers). Esto que comento, está permitido
por ejemplo en Oracle.
¿Alguien sabe si se permite ese tipo de variables en SQL
Server 2000?¿cómo y donde se declaran?
Me han remitido a los paquetes DTS en este mismo for, pero
lo que entiendo quye hacen los DTS no es lo que yo necesito
(yo ,repito, variables normales, pero que me mantengan el
valor durante toda una sesión).
Mi última opción, seria implementar esas variables en la
aplicación cliente que acceda a la BD, pero no cumpliría
con mis objetivos, y me complicaría mucho la vida.
Muchas gracias, espero que alguien pueda aclararme este
problema.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida