Вопросы по SQL и другие аспекты работы PostgreSQL

warning: Creating default object from empty value in /var/www/victor/web/pgdocs.ru/data/modules/taxonomy/taxonomy.pages.inc on line 33.
Здесь обсуждаются запросы на SQL в PostgreSQL. Оптимизация запросов, реализация, подходы и т.д.

pgAgent: не стартуются job-ы

Всем, привет.
Помогите, пожалуйста, с job-м.
Создала задачу j1
Имя...................................j1
ID.....................................3
Включен ...........................Да
Хост агента
Класс задач.......................Data Import
Создано.............................26.12.2008 18:58:03
Изменено...........................26.12.2008 18:58:03
Следующий запуск..............05.02.2009 17:54:00
Последний запуск

SETOF двух таблиц

Возможно ли реализовать функцию, содержащую такой запрос:

CREATE OR REPLACE FUNCTION foo(id integer)
  RETURNS SETOF ??? AS
$BODY$
	SELECT * FROM foo1 
		JOIN foo2 ON foo1.id=foo2.id
	WHERE id=$1
$BODY$
  LANGUAGE 'sql' IMMUTABLE SECURITY DEFINER
  COST 100;

XML и Delphi

Есть XML-файл как его содержимое запихать в поле типа XML .Среда программирования Delphi

Рекурсивный запрос

Как написать рекурсивные запросы с последовательным извлечением данных из таблицы в направлении:
- от корня иерархии к листьям
- от листьев к корню иерархии

Для PostgreSQL если можно то еще и для SQL и Oracle
Напишите пожалуйста пример для небольшой таблички, пожалуйста.

Найти разницу между двумя датами

Помогите найти разницу между двумя датами в минутах

например емеется таблица с полем date_registration - тип поля timestamp without time zone
и есть функция NOW()
мне нужно узнать сколько минут прошло между двумя датами
кто посоветует как это реализовать?

Безопасность в PostgreSQL

Стал вопрос о безопасности в PostgreSQL. Поведаю подробнее.

Есть функция,созданная от привилегированного пользователя:

CREATE OR REPLACE FUNCTION counts(text)
  RETURNS integer AS
$BODY$
DECLARE sql varchar;
DECLARE c integer;
BEGIN  
   sql:='select count(id) from table1 where ' || $1 || ' ';
       EXECUTE sql INTO c;
   RETURN c;
END;
$BODY$
  LANGUAGE 'plpgsql' VOLATILE SECURITY DEFINER
  COST 100;
GRANT EXECUTE ON FUNCTION counts(text) TO exec_user;

select Update Delete возврат количество измененых или просматриваемых строк

Добрый день.

Подскажите есть функция при отработке select update delete
возврат количество измененых или просматриваемых строк

select idm into field from table
if [функция] > 0 then
-- запись существует
end if;

update table set field=1
if [функция]>0 then
-- запись изменена
end if;

MSSQL @@ROWCOUNT и @@IDENTITY

есть такие функции в Postgresql или анологичные
Спасибо.

Функция может возвращать 2 и более select

В MS SQL есть в storeprocedure возможность возвращать неограниченное значений
Подскажите как реализовать это в Postgresql.

Спасибо.

MS SQL -> Postgresql тип данных TABLE

Подскажите как сделать функцию

CREATE FUNCTION Listing()
RETURNS @TBL TABLE (
IDKart int
)
AS
BEGIN
declare @TT TABLE(IDKart int primary key)

insert into @TT (IDKart ) values( 1)
insert into @TT (IDKart ) values( 2)
insert into @TT (IDKart ) values( 3)

delete @TT where IDKart=2

insert into @TBL(IDKart) select IDKart from @TT
end

Собранный материал

Back to top

(С) Виктор Вислобоков, 2008-2023