Страница 1 из 1

Невыполняется хранимая процедура.

Добавлено: 06 авг 2012, 13:48
cibo
О боги пост гиса ответьте мне на вопрос.

Пытаюсь выполнить такую функцию.

Код: Выделить всё

  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'
вызов

Код: Выделить всё

	try{
	Connection ce_proc= null;
  ce_proc = DriverManager.getConnection("jdbc:postgresql://localhost:5432/postgis","postgres","123456");
  CallableStatement proc = (CallableStatement) ce_proc.prepareCall("{call insert_into_wgs()}");
  proc.execute();
  proc.close();
  ce_proc.close();
	}
	catch (SQLException e) {}
И в таблицу filedata ничего не попадает.
filedata имеет срид=4326.
gjcnhutc 8.4/

Re: Невыполняется хранимая процедура.

Добавлено: 06 авг 2012, 14:32
rhot
какой вопрос-то?

Re: Невыполняется хранимая процедура.

Добавлено: 06 авг 2012, 15:38
Aleksandr Dezhin
Мне кажется ваша проблема - следствие того, как вы обрабатываете исключения.
Естественно если исключение игнорируются, то узнать что пошло не так довольно трудно.

Re: Невыполняется хранимая процедура.

Добавлено: 07 авг 2012, 07:17
cibo
Вопрос то такой почему функция не вызывается? Ведь просто Инсерт вне функции работает.

Re: Невыполняется хранимая процедура.

Добавлено: 07 авг 2012, 07:32
Aleksandr Dezhin
cibo писал(а):Вопрос то такой почему функция не вызывается? Ведь просто Инсерт вне функции работает.
Уберите блок try-catch - все увидите в stack trace.

Re: Невыполняется хранимая процедура.

Добавлено: 07 авг 2012, 10:24
cibo
Все заработало, хотя ничего в коде не изменилось.