Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Temporales en SQL Server 2005

Estas en el tema de Temporales en SQL Server 2005 en el foro de SQL Server en Foros del Web. Hola todos, tengo un problema y esperon q me ayuden, el problema es que he conectado SQL SERVER Y Basic 6 y en SQL Server ...
  #1 (permalink)  
Antiguo 28/12/2010, 09:20
 
Fecha de Ingreso: abril-2010
Mensajes: 65
Antigüedad: 14 años, 8 meses
Puntos: 3
Temporales en SQL Server 2005

Hola todos, tengo un problema y esperon q me ayuden, el problema es que he conectado SQL SERVER Y Basic 6 y en SQL Server 2005 he creado un procediemiento almacenado donde trabajo con tablas temporales y cuando cuando en basic ejecuto el procedimiento almacenado q he creado(trabajdno con las tabla stemporales) me sale un error diciendo algo asi"el objeto no esta permitido si el objeto esta cerrado" pero si el en procedimiento almacenado en sql hago un simple select como select * from tabla entonces si me jala los datos sin problemas pero elk problema esta cuando ese mismo procedimiento almacenado lo trabajo con tablas temporales, x favor alguien podria yudarme tralvez sea una configuracion en el sql, desde ya les agradesco...
  #2 (permalink)  
Antiguo 28/12/2010, 09:40
Avatar de Inicia  
Fecha de Ingreso: octubre-2010
Ubicación: Actualmente en GDL
Mensajes: 135
Antigüedad: 14 años, 2 meses
Puntos: 1
Respuesta: Temporales en SQL Server 2005

Mmmm nunca me ha dado ese error pero muestrame tu código tal vez pueda ayudart =)
  #3 (permalink)  
Antiguo 28/12/2010, 09:42
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 17 años, 5 meses
Puntos: 180
Respuesta: Temporales en SQL Server 2005

Como dice INICIA, sin ver el codigo, es jugarle al adivino
__________________
MCTS Isaias Islas
  #4 (permalink)  
Antiguo 30/12/2010, 18:55
 
Fecha de Ingreso: abril-2010
Mensajes: 65
Antigüedad: 14 años, 8 meses
Puntos: 3
Respuesta: Temporales en SQL Server 2005

ok les copio el codigo, es el siguiente:

--Alter Procedure [dbo].[STASetRptGastos]
declare
@FecIni Datetime
,@FecFin Datetime
,@Documento VarChar(5)
,@NroDoc VarChar(10)
,@Estado VarChar(1)


Set @FecIni = '23/09/2010'
Set @FecFin = '23/12/2010'
Set @Documento = ''
Set @NroDoc = ''
Set @Estado = ''


--As

Select
Row_Number() Over (Order By a.IddCodIdd) As Id
,a.IddCodIdd As Codigo
,b.DocNomDoc As Documento
,a.IddNroDoc As NroDocumento
,Convert(VarChar,a.IddFchCpa,103) As Fecha
,a.IddDscIdd As Descripcion
,a.IddPreUnt As Precio
,a.IddCntIdd As Cantidad
,a.IddTotPrd As Total
,Case When a.IddEstIdd = '0' Then
'Pagado'
Else
'Por Pagar'
End As Estado
,a.IddObsIdd As Observacion
Into #TblTmp1
From STAM0012 a
Inner Join STAM0014 b
On a.CodCodDoc = b.DocCodDoc
Where a.IddFlgEli = '0'
And b.DocFlgEli = '0'
And (Convert(VarChar,a.IddFchCpa,103) >= @FecIni And Convert(VarChar,a.IddFchCpa,103) <= @FecFin)
And (Len(Rtrim(Ltrim(@Documento))) = 0 Or a.CodCodDoc = @Documento)
And (Len(Rtrim(Ltrim(@NroDoc))) = 0 Or a.IddNroDoc = @NroDoc)
And (Len(Rtrim(Ltrim(@Estado))) = 0 Or a.IddEstIdd = @Estado)


Insert Into #TblTmp1
Select
max(id + 1)
,Codigo
,''
,''
,''
,'Total:'
,Null
,Null
,Sum(Total)
,''
,''
From #TblTmp1
Group By Codigo

Select
*
Into #TblTmp2
From #TblTmp1
Order By Codigo
,Id

Insert Into #TblTmp2
Select Top 1
max(id + 2)
,Codigo
,''
,''
,''
,''
,Null
,Null
,Null
,''
,''
From #TblTmp2
Group By Codigo

Select
*
Into #TblTmp3
From #TblTmp2
Order By Codigo
,Id


Insert Into #TblTmp3
Select
max(id + 3)
,''
,''
,''
,''
,''
,Null
,Null
,Sum(Total)
,''
,''
From #TblTmp3
Where Descripcion = 'Total:'

Select
*
Into #TblTmp4
From #TblTmp3
Order By Id

Update #TblTmp4 Set
Codigo = ''
Where Descripcion = 'Total:'

Update #TblTmp4 Set
Codigo = ''
Where Len(Rtrim(Ltrim(Documento))) = 0
And Len(Rtrim(Ltrim(NroDocumento))) = 0

Update #TblTmp4 Set
Descripcion = 'Total General:'
Where Len(Rtrim(Ltrim(Codigo))) = 0
And Len(Rtrim(Ltrim(Documento))) = 0
And Len(Rtrim(Ltrim(Descripcion))) = 0
And Total >= 0

Select
Codigo
,Documento
,NroDocumento
,Fecha
,Descripcion
,Precio
,Cantidad
,Total
,Estado
,Observacion
From #TblTmp4

Drop Table #TblTmp1
Drop Table #TblTmp2
Drop Table #TblTmp3
Drop Table #TblTmp4

pero como les digo yo modifico el store con un select cualquiera y no hay problema pero si trabajo con el temporal entonces me muestra error en el basic pero cuando ese mismo store(tablas temporales) lo ejecuto en el sql entonces me muestra tal y como quiero q me muestre pero en el bascu no pasa lo mismo.
  #5 (permalink)  
Antiguo 04/01/2011, 13:39
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 4 meses
Puntos: 774
Respuesta: Temporales en SQL Server 2005

Porque no usas el ## en la creacion de tus tablas para que puedan ser vistas en cualquier sesion que tengas, creo que tu problema es que creas las temporales para que nada mas sean vistas en la sesion que manda llamar el procedure y despues ya no las puedes ver, saludos!

Etiquetas: server, sql, temporales
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:51.