Форум программистов, компьютерный форум, киберфорум
PostgreSQL
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/21: Рейтинг темы: голосов - 21, средняя оценка - 4.90
Ananasinka

Вручную написанная функция не работает

16.05.2010, 19:18. Показов 4537. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет,

я написала функцию, которая должна в имеющуюся таблицу cities добавлять строку данных при выполнении следующего условия: добавляемый объект (POINT) лежит целиком в пределах другого определенного объекта (MULTIPOLYGON) из другой таблицы (я использовала функцию WITHIN(geo,geo).
При этом если условие выполняется, при выполнении запроса выдается соответствующее уведомление.

Вот так выглядит это сейчас на данный момент:
PHP
1
2
3
4
5
6
7
8
9
10
11
CREATE OR REPLACE FUNCTION insertCity(cityname text, regionname text, location POINT)
    RETURNS VARCHAR AS $$
BEGIN
    IF (Within(location, region.geo)) THEN 
      INSERT INTO cities VALUES (cityname, regionname, location);
      RETURN 'The city ' || cityname || ' is put in';
    ELSE
      RETURN 'The city ' || cityname || ' is not put in';
    END IF;
END;
$$ LANGUAGE plpgsql;
При выполнении запроса в таком виде:
PHP
1
SELECT insertCity('Colomna', 'Moscow', PointFromText('POINT(12 9)', -1));
постоянно вылетает ошибка:
ERROR: function insertCity(unknown, unknown, geometry) does not exist
LINE 1: SELECT insertCity('Colomna', 'Moscow', PointFromT...
^
HINT: No function matches the given name and argument types. You might need to add explicit type casts.
Почему параметры вдруг стали "unknown"?
В чем моя ошибка??

Заранее спасибо за ответы.
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.05.2010, 19:18
Ответы с готовыми решениями:

Ругается написанная функция
Выходит ошибка при выводе: Fatal error: Call to a member function mysql_fetch_assoc() on a non-object in...

Нужна функция sha256 написанная на чистом С с использованием OpenSSL
Нужна функция sha256 написанная на чистом С с использованием OpenSSL. Программирую на Ubuntu. В интернете ничего не смог найти. Буду рад...

Игра, написанная в VS 2010 не работает в VS 2013
написал игру MS VS 2010 c#, открываю в 2013 не хочет работать, не подскажете в чем может быть проблема?

3
 Аватар для SunDrop
390 / 229 / 11
Регистрация: 09.12.2009
Сообщений: 668
17.05.2010, 17:30
1) Говорит, что функции нет. Она точно создана?
2) А разве можно внутри функции использовать insert, update, delete?
0
Ananasinka
17.05.2010, 21:16
1. После выполнения запроса CREATE OR REPLACE FUNCTION... она появляется в списке функций, значит она как минимум создается.

2. Судя по всему прочитанному мной ранее материалу на эту тему, можно. Как пример, функция, взятая с одного из электронных пособий:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
CREATE OR REPLACE FUNCTION fuegeInGemeindeEin
      (pGkz INTEGER, pName VARCHAR) RETURNS VOID AS $$
    DECLARE
      minEinw INTEGER;
    BEGIN
      SELECT Min(einw) INTO minEinw FROM Gemeinden;
      INSERT INTO Gemeinden (gkz,name,einw)
                  VALUES (pGkz,pName,minEinw);
    END;
    $$ LANGUAGE plpgsql;
 
    SELECT fuegeInGemeindeEin (3361009,'Oyten');
Или еще один пример:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
CREATE OR REPLACE FUNCTION fuelleLogHS()
   RETURNS NUMERIC AS $$
DECLARE
  ds  RECORD;       -- aktuelle Antwort
  n   NUMERIC;      -- Zahl der Antworten
BEGIN
  n := 0;
  -- alle Antworten durchlaufen
  FOR ds IN SELECT * FROM Hochschulen LOOP
    INSERT INTO LogHochschulen
      VALUES (ds.num,ds.stud,current_timestamp);
    n := n+1;
  END LOOP;
  RETURN n;
END;
$$ LANGUAGE plpgsql;
 Аватар для SunDrop
390 / 229 / 11
Регистрация: 09.12.2009
Сообщений: 668
18.05.2010, 02:04
Попробуте тип text поменять на varchar(xxx)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.05.2010, 02:04
Помогаю со студенческими работами здесь

Программа, написанная на Delphi XE8, не работает на WinXP
Я сделал программу на Delphi XE8 для моих знакомых! У меня Win 7 а у них xp и она на xp не работает! Как это исправить!?! Помогите!

Библиотека классов, написанная в VB.NET не работает в VBA
Хочу сделать библиотеку классов и использовать ее в VBA. Если в проекте DLL использую обычные классы, то в VBA не видны методы и свойства...

[JSP] JS скрипт из файла не работает, а если вручную писать - работает
У меня в 4 файлах нужен один и тот же скрипт, я и его вынес в отдельный файл appendLanguageParamToUrl.js function appendParameters() {...

Не работает программа на Mathcad, написанная преподавателем? Учитель привел неверную программу
помогите разобраться, что именно здесь неверно Вот программа на Mathcad. Аппроксимация заданной функции с определением адекватности...

С чего начать изучение, чтобы понять как работает написанная программа для МК
Пишу диплом, знакомый разрабатывает мне программу простенькую на обычном СИ , которая будет излекать из точки доступа данные ,управлять кое...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru