Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MS SQL Server
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-12-2007
subzero subzero is offline
No confirmado
 
Registrado: ene 2004
Ubicación: Móntería - Córdoba - Colombia
Posts: 289
Poder: 0
subzero Va por buen camino
Exclamation Insertar datos en una tabla desde consulta en un SP

Hola amigos del club...


Siendo un poco directo tengo un inconveniente al realizar un procedimientos almacenado en SQL Server 2005 y no he encontrado algo que me permita orientarme un poco. Lo que estoy tratando de generar es un procedimiento en el cual se realice la consulta, luego se cree una tabla y hasta aqui todo esta bien el problema esta en ¿cómo puedo ingresar los datos resultantes de la consulta en la tabla que se crea en el procedimiento?, cabe anotar que normalmente trabajo en firebird y la sintaxis es un poco diferente les expongo mi códígo.

Código SQL [-]
CREATE PROCEDURE dbo.sp_baja_rotacion
AS
BEGIN
  declare @filas integer
  SELECT DISTINCT
  max(dbo.documentos_lin.fec) as fecha,
  substring(dbo.documentos_lin.codigo,1,6) as codigo
  FROM dbo.documentos_lin
  WHERE
  (dbo.documentos_lin.sw = 1) AND
  (dbo.documentos_lin.tipo IN ('80','81','82','83'))
  GROUP BY substring(dbo.documentos_lin.codigo,1,6)
  create table temp_br(fec datetime, cod varchar(20))
   
  ES AQUI DONDE QUISIERA HACER LA INSERCION  

  drop table temp_br
END

De antemano agradezco el interes que me prestan gracias.
Responder Con Cita
  #2  
Antiguo 05-12-2007
subzero subzero is offline
No confirmado
 
Registrado: ene 2004
Ubicación: Móntería - Córdoba - Colombia
Posts: 289
Poder: 0
subzero Va por buen camino
Bueno... indagando un poco creo que me estaba complicando la cuestión era sencilla solo realice una consulta y la inserte en la tabla... gracias a todos aqui muestro como realice el proceso.....

Código SQL [-]
create table temp_br(fec datetime, cod varchar(20))
  insert into temp_br(fec, cod)
  (SELECT DISTINCT
  max(dbo.documentos_lin.fec) as fecha,
  substring(dbo.documentos_lin.codigo,1,6) as codigo
  FROM dbo.documentos_lin
  WHERE
  (dbo.documentos_lin.sw = 1) AND
  (dbo.documentos_lin.tipo IN ('80','81','82','83'))
  GROUP BY substring(dbo.documentos_lin.codigo,1,6))
  select * from temp_br
  /*drop table temp_br*/
Responder Con Cita
  #3  
Antiguo 05-12-2007
Avatar de javier7ar
javier7ar javier7ar is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 124
Poder: 19
javier7ar Va por buen camino
Tambien podes usar SELECT INTO para que te cree la tabla automaticamente y no tenes que hacer el create table a mano. Y si la tabla es temporal y solo la vas a usar en el procedimiento almacenado, te conviene marcarla como tabla temporal con # antes del nombre de la tabla; con esto si te olvidas de hacer el drop de la tabla el SQL Server lo hace automatico cuando te desconectas.
Código SQL [-]
SELECT DISTINCT max(dbo.documentos_lin.fec) as fecha,
  substring(dbo.documentos_lin.codigo,1,6) as codigo
INTO #temp_br
FROM dbo.documentos_lin
WHERE
  (dbo.documentos_lin.sw = 1) AND
  (dbo.documentos_lin.tipo IN ('80','81','82','83'))

GROUP BY substring(dbo.documentos_lin.codigo,1,6)
-- ACA PODES TRABAJAR CON LA TABLA TEMPORAL
select * from #temp_br

-- SIEMPRE AL FINAL DEBERIAS BORRARLA
drop table #temp_br
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Error de Sintaxis al Insertar datos a una tabla desde otra alastor SQL 9 28-09-2006 18:27:09
Dbgrid para insertar en una tabla pero cogiendo datos de otra tabla taru MySQL 1 27-07-2006 15:36:12
insertar datos en una tabla desde fichero XML??? mguixot Conexión con bases de datos 2 17-05-2006 16:18:04
insertar datos en una tabla desde otra Giniromero SQL 5 17-06-2004 19:37:16
Como insertar datos de una tabla en otra tabla? Salomon Firebird e Interbase 1 28-08-2003 11:29:40


La franja horaria es GMT +2. Ahora son las 00:43:06.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi