powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Подскажите люди, как можно объявлять и использовать переменные в Postgres!
4 сообщений из 4, страница 1 из 1
Подскажите люди, как можно объявлять и использовать переменные в Postgres!
    #32645648
Alexey8000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
так ругается, но тут слышал что можно в plsql это делать, правда не совсем понял как грамотно это тестить это, т.к. использую обычную форму из PGAdmin для проверки и составления запросов, а там я не понимаю как и что с переменными. что то туго у меня с пониманием сего.
Обьясните плиз на пальцах это! просто нужны мне переменные чтоб составить запрос, а тут не получается в принципе их завести!

Заранее благодарен!
...
Рейтинг: 0 / 0
Подскажите люди, как можно объявлять и использовать переменные в Postgres!
    #32646185
Фотография Кувалдин Роман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насколько я знаю, переменные можно использовать только внутри хранимых процедур.

Читать здесь:

http://www.postgresql.org/docs/7.4/interactive/plpgsql.html

Русского руководства программиста я уже давно не встречал.

Если читать лениво - то вот конкретно:

как надо:

name [ CONSTANT ] type [ NOT NULL ] [ { DEFAULT | := } expression ];

примеры:
user_id integer;
quantity numeric(5);
url varchar;
myrow tablename%ROWTYPE;
myfield tablename.columnname%TYPE;
arow RECORD;

И вот тебе хранимая процедура постгреса:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
CREATE FUNCTION somefunc() RETURNS integer AS
'
DECLARE
    quantity integer := 30;
BEGIN
    -- Quantity here is 30
    RAISE NOTICE ''Quantity here is %'', quantity;
    
    quantity := 50;
    -- Create a subblock
    DECLARE
        quantity integer := 80;
    BEGIN
        -- Quantity here is 80
        RAISE NOTICE ''Quantity here is %'', quantity;  
    END;
    -- Quantity here is 50
    RAISE NOTICE ''Quantity here is %'', quantity;  
    RETURN quantity;
END;
'
LANGUAGE plpgsql;

не забудь только для своей базы поддержку plpgsql включить. Это делается в консоли (! не внутри psql !)

createlang plpgsql <имя_базы>

А также советую прочитать это:
http://www.postgresql.org/docs/7.4/interactive/server-programming.html

Надеюсь, что помог.
...
Рейтинг: 0 / 0
Подскажите люди, как можно объявлять и использовать переменные в Postgres!
    #32647587
Alexey8000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо! Просто я понял что здесь это не просто...
...
Рейтинг: 0 / 0
Подскажите люди, как можно объявлять и использовать переменные в Postgres!
    #32647671
eddie
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да всё просто - в пределах функции могут быть локальные переменные, как именно ими пользоаться зависит от языка этой функции.

"просто так" (то бишь вне функции) переменных вроде как нет
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Подскажите люди, как можно объявлять и использовать переменные в Postgres!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]