Tengo una tabla:
customers(customerid,companyname, ... country,countryID)
country(countryID,countryname)
countryID es clave foranea en customers y clave primaria en country.
Existe otra tabla countries en la base de datos por eso aparece un country en customers.
Puede parecer raro como esta definido pero es una practica.
Lo que quiero hacer es llenar la tabla country con los datos que hay en la tabla customers(country). Es decir pasar los paises de la tabla cliente a mi tabla recien creada country, automaticamente.
Hice una consulta en mi clase y me dijeron que podria usar cursores. Pero no entiendo la idea de cursores, esto fue lo que hice:
Código HTML:
CREATE OR REPLACE FUNCTION sp_test() RETURNS VOID AS $BODY$ DECLARE custid varchar(5); fcompanyname varchar(40); fcontactname varchar(30); fcontacttitle varchar(30); faddress varchar(60); fcity varchar(15); fregion varchar(15); fcountry varchar(15); fphone varchar(24); ffax varchar(24); cursX CURSOR FOR SELECT * FROM customers; BEGIN OPEN cursX ; while found loop FETCH NEXT FROM cursX INTO custid,fcompanyname,fcontactname,fcontacttitle,faddress,fcity,fregion,fcountry,fphone,ffax; INSERT INTO country(countryname) VALUES (fcountry) ; end loop; CLOSE cursX; END; $BODY$ LANGUAGE plpgsql;
Gracias por responder