PostgreSQL - inner join con tablas temporales - problema

 
Vista:
sin imagen de perfil
Val: 11
Ha aumentado su posición en 3 puestos en PostgreSQL (en relación al último mes)
Gráfica de PostgreSQL

inner join con tablas temporales - problema

Publicado por guillermo arias (33 intervenciones) el 13/06/2007 23:17:33
Hola gente, tengo un problema que no he resuelto:

Tengo 2 tablas: ARTICULOS y EXISTENCIAS

articulos
CREATE TABLE public.articulos
(
art_cod character varying(5) NOT NULL DEFAULT ''::character varying,
art_descri character varying(20) DEFAULT ''::character varying,
CONSTRAINT articulos_pkey PRIMARY KEY (art_cod)
)

"1";"clavos"
"2";"martillos"
"3";"madera"

existencias
CREATE TABLE public.existencias
(
art_cod character varying(5) DEFAULT ''::character varying,
exis_ubic character varying(20) DEFAULT ''::character varying,
exis_cant numeric(8) DEFAULT 0
)

"1";"lima";100
"1";"ica";130
"2";"ica";1390
"3";"pisco";390
"3";"piura";20

Y una función que simplemente debe relacionar ambas tablas y darme un listado de
los artículos con el detalle de su ubicación y cantidad.
Lo que hago en la función es primero cargar dos tablas temporales y luego
el inner join. Se que mejor sería el inner join directamente, pero quiero saber
por qué no funciona de esta manera, si en el MS sql server siempre me ha funcionado
bien.

CREATE OR REPLACE FUNCTION public.test1 (out art_cod varchar,out art_descri varchar,
out exis_ubic varchar, out exis_cant numeric) returns setof record as
$body$

select * into temp table t_arti from public.articulos;
select * into temp table t_exis from public.existencias;

select a.art_cod,a.art_descri,e.exis_ubic,e.exis_cant
from t_arti a inner join t_exis e on a.art_cod= e.art_cod;
$body$
LANGUAGE 'sql' VOLATILE;


Cuando llamo a la función con esta línea:

select * from modelo.test1()

Aparece este error:

ERROR: relation "t_arti" does not exist
SQL state: 42P01
Context: SQL function "test1"

¿Por qué no funciona con las tablas temporales??????

Gracias por su ayuda
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:inner join con tablas temporales - problema

Publicado por csdk (8 intervenciones) el 06/02/2008 08:07:27
primero lo primero para k una tabla tenga referencias con otra esta referenia se debe crear ebtre ambas de esta forma la integridad de los datos es buena bueno eso es modelado e-r pero el error esta en k PARA PODER USAR UN INER JOIN MESESITAS UNA CLAVE FORANEA (COD_PRO) EN LA TABLA EXTECIA REFERENCIADA A (COD_PRO) DE LA TABLA PRODUCTOS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar