Procedimiento para crear Tablas Temporales

24/01/2007 - 00:02 por Natty | Informe spam
hola a todos:

Estoy tratando de crear tablas Temporales mediante un procedimiento que
se ejecute automaticamente al iniciar Server, para esto ultimo utilizo
"sp_procoption" y mi procedimiento lo tengo en Master
Mas o menos es asi:

USE [master]
GO
create procedure dba.sp_crea_temporales as
begin
create table #tabla temporal1
(columnauno char(20) NULL,
columnados char(4) NULL,
.
)
create table #tabla temporal2
(...)
end

EXEC sp_procoption 'dba.sp_crea_temporales', 'startup', 'true'

Ahora cuando inicio sesion si puedo ver el procedimiento en Master pero
no veo las Tablas Temporales que se supone que debe crear Que
instrucciones me hacen falta?? o que estoy haciendo mal??

Att. Natty
Un saludo!!!!

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
24/01/2007 - 03:06 | Informe spam
Natty,

Esas tablas temporales solo pueden verse desde el procedimiento o desde un
nivel interno al procedimiento (si este llama a otro procedimiento, por
ejemplo), pero tan pronto como este termine, las tablas temporales dejaran de
existir.

Pudieras explicar que tratas de hacer?


AMB

"Natty" wrote:


hola a todos:

Estoy tratando de crear tablas Temporales mediante un procedimiento que
se ejecute automaticamente al iniciar Server, para esto ultimo utilizo
"sp_procoption" y mi procedimiento lo tengo en Master
Mas o menos es asi:

USE [master]
GO
create procedure dba.sp_crea_temporales as
begin
create table #tabla temporal1
(columnauno char(20) NULL,
columnados char(4) NULL,
..
)
create table #tabla temporal2
(...)
end

EXEC sp_procoption 'dba.sp_crea_temporales', 'startup', 'true'

Ahora cuando inicio sesion si puedo ver el procedimiento en Master pero
no veo las Tablas Temporales que se supone que debe crear Que
instrucciones me hacen falta?? o que estoy haciendo mal??

Att. Natty
Un saludo!!!!


Respuesta Responder a este mensaje
#2 Natty
24/01/2007 - 16:37 | Informe spam
Hola Alejandro:

Lo que intento hacer es crear 4 Tablas Temporales al levantar SQL
Server para que se puedan ocupar dentro del sistema (Power Builder),
varios usuarios ocupan 1 Tabla y al finalizar la sesion se deben
destruirAlgo asi, espero me haya explicado


Saludos!!
Respuesta Responder a este mensaje
#3 Alejandro Mesa
25/01/2007 - 15:17 | Informe spam
Natty,

Como te explique anteriormente, las tablas temporales no globales solo son
visibles el batch que las crea y cualquier otro batch llamado desde este.
Existe otro tipo de tabla temporal, temporales globales, que pueden ser
vistas desde multiples sesiones, pero que una vez finalizado el batch que las
creo, si no hay otra session referenciadolas, estan son destruidas.

Para que quieres tener estas tablas, que es lo que quieres hacer con ellas,
puedes explicar un poquito mas el proposito de estas?


AMB

"Natty" wrote:

Hola Alejandro:

Lo que intento hacer es crear 4 Tablas Temporales al levantar SQL
Server para que se puedan ocupar dentro del sistema (Power Builder),
varios usuarios ocupan 1 Tabla y al finalizar la sesion se deben
destruirAlgo asi, espero me haya explicado


Saludos!!


Respuesta Responder a este mensaje
#4 Natty
25/01/2007 - 19:21 | Informe spam
Hola Alejandro:

Claro, estoy realizando una migración desde SQL Anywhere a SQL Express
(Apenas estoy conociendo esta herramienta), la base de Datos ya esta
estructurada de esta forma con 4 tablas Temporales las cuales se ocupan
por diferentes usuarios para visualizar informacion, por ejemplo algun
Reporte, informes que no requieren guardarse en Tablas Fijas, sabes ya
intente con Tablas Temporales Globales pero desde este procedimiento
que intento crear y no las veo...


Si entiendo tu comentario, sobre que una vez finalizado el proceso que
las creo, si no hay otra sesion referenciadolas, estan son destruidas.
Habra alguna forma en que estas Tablas se queden visibles (Destruidas
cuando se de de baja la Base de Datos y cuando se inicie se vuelvan a
crear) ya que pudiera ser que aunque no esten referenciadas en otra
sesion algun usuario inactivo que de pronto las ocupara y marcará
algun error sobre la inexistencia de las Tablas.

Saludos!!!
Respuesta Responder a este mensaje
#5 Alejandro Mesa
26/01/2007 - 15:00 | Informe spam
Natty,

Habra alguna forma en que estas Tablas se queden visibles (Destruidas
cuando se de de baja la Base de Datos y cuando se inicie se vuelvan a
crear) ya que pudiera ser que aunque no esten referenciadas en otra
sesion algun usuario inactivo que de pronto las ocupara y marcará
algun error sobre la inexistencia de las Tablas.



No, no lo hay, al menos que uses tablas permanentes. Si decides contarnos
con mas detalle lo que quieres lograr, quizas alguien pueda darte alguna
sugerencia de como hacerlo.


AMB


"Natty" wrote:


Hola Alejandro:

Claro, estoy realizando una migración desde SQL Anywhere a SQL Express
(Apenas estoy conociendo esta herramienta), la base de Datos ya esta
estructurada de esta forma con 4 tablas Temporales las cuales se ocupan
por diferentes usuarios para visualizar informacion, por ejemplo algun
Reporte, informes que no requieren guardarse en Tablas Fijas, sabes ya
intente con Tablas Temporales Globales pero desde este procedimiento
que intento crear y no las veo...


Si entiendo tu comentario, sobre que una vez finalizado el proceso que
las creo, si no hay otra sesion referenciadolas, estan son destruidas.
Habra alguna forma en que estas Tablas se queden visibles (Destruidas
cuando se de de baja la Base de Datos y cuando se inicie se vuelvan a
crear) ya que pudiera ser que aunque no esten referenciadas en otra
sesion algun usuario inactivo que de pronto las ocupara y marcará
algun error sobre la inexistencia de las Tablas.

Saludos!!!


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