I have a two tables:
CREATE TABLE filedata_temp
(
num serial NOT NULL,
id integer,
mydata character(25),
the_geom geometry,
CONSTRAINT filedata_pkey PRIMARY KEY (num)
)
CREATE TABLE filedata
(
num serial NOT NULL,
id integer,
mydata character(25),
the_geom geometry,
CONSTRAINT filedata_temp_pkey PRIMARY KEY (num)
)
i want to make function which insert rows from first table in second table if this rows not exist in second table. Field for comparison tables is num
field.
After reading some examples :
CREATE OR REPLACE FUNCTION insert_into_wgs()
RETURNS void AS
$BODY$
BEGIN
insert into filedata
(
id,
mydata,
the_geom,
)
values
(
id,
mydata,
ST_TRANSFORM(the_geom,4326)
);
end
$BODY$
LANGUAGE 'plpgsql'
So i need some help/
UPDATE
i try this function(gods of data base's says me it)
CREATE OR REPLACE FUNCTION insert_into_wgs()
RETURNS void AS
$$
BEGIN
INSERT INTO filedata (id,mydata,the_geom)
SELECT id,mydata,ST_TRANSFORM(the_geom,4326)
FROM filedata_temp
WHERE id NOT IN (SELECT id FROM filedata);
end;
$$
LANGUAGE 'plpgsql'
But nothing insert in table filedata.
function calling
ce_proc = DriverManager.getConnection("jdbc:postgresql://localhost:5432/postgis","postgres","123456");
CallableStatement proc = (CallableStatement) ce_proc.prepareCall("{call insert_into_wgs()}");
proc.execute();