Создание переменных

AndyKuvaldin
Дата: 04.03.2015 17:55:31
Здравствуйте. Подскажите пожалуйста как создать переменную в postgres. Работаю в pgAdmin III.
Например в MSQL
declare @myVar int;
в Firebird:
declare :myVar int;

И дальше делаем set и какие то вычисления с этой переменной.

А он выдает ошибку
"ОШИБКА: ошибка синтаксиса (примерное положение: "@")
LINE 1: declare @myVar int;
^
********** Ошибка ********** "

Хочу получить в стиле, но в стиле postgres:
declare @myVar int;
set @myVar = 1;
select @myVar;
этта
Дата: 04.03.2015 18:19:40
AndyKuvaldin
Здравствуйте. Подскажите пожалуйста как создать переменную в postgres...

it depends

--в каком месте, т.е. в каком языке [из кучи возможных]

если про sql и переменные сеанса -- http://www.sql.ru/forum/actualsearch.aspx?search=?????????? ??????&sin=0&st=t&bid=7&a=&ma=0&dt=-1&s=1&so=1
AndyKuvaldin
Дата: 05.03.2015 08:59:40
этта
AndyKuvaldin
Здравствуйте. Подскажите пожалуйста как создать переменную в postgres...

it depends

--в каком месте, т.е. в каком языке [из кучи возможных]

если про sql и переменные сеанса -- http://www.sql.ru/forum/actualsearch.aspx?search=?????????? ??????&sin=0&st=t&bid=7&a=&ma=0&dt=-1&s=1&so=1


Язык SQL Postgre. Среда SQL Editor в pgAdmin III.
Надпись "declare @a int;" приводит к ошибке, которая описана в первом посте темы.
/\/\/\/\/\/\
Дата: 05.03.2015 09:11:16
AndyKuvaldin,

Расскажите, какую задачу Вы хотите решать. Может быть следует рассмотреть задачу с более высокого уровня.

Прямо сейчас Вы пытаетесь впихнуть странные языковые конструкции, не прудусмотренные средой, в очень интересные места. С заранее известным результатом.
AndyKuvaldin
Дата: 05.03.2015 09:39:18
/\/\/\/\/\/\
AndyKuvaldin,

Расскажите, какую задачу Вы хотите решать. Может быть следует рассмотреть задачу с более высокого уровня.

Прямо сейчас Вы пытаетесь впихнуть странные языковые конструкции, не прудусмотренные средой, в очень интересные места. С заранее известным результатом.


Задача: объявить переменную a типа integer, задать ей значение. объявить переменную b типа integer, задать ей значение. объявить переменную c типа integer и записать в неё результат сложения 2 переменных a и b. после чего вывести на экран значения всех 3 переменных.
Сделать это в рамках pgAdmin III в SQL Editor.

Например в MS SQL это выглядело бы следующим образом:
declare @a int;
declare @b int;
declare @c int;
set @a = 1;
set @b = 2;
set @c = @a + @b;
select @a; select @b; select @c;
Maxim Boguk
Дата: 05.03.2015 09:44:29
AndyKuvaldin,

оператор DO и использование Pl/pgsql
просто в sql переменных в postgreSQL нет (и я с большим трудом себе могу представить ситуацию когда мне нужны переменные а не DO+pl/pgsql)

--Maxim Boguk
www.postgresql-consulting.ru
AndyKuvaldin
Дата: 05.03.2015 09:56:59
Maxim Boguk
AndyKuvaldin,

оператор DO и использование Pl/pgsql
просто в sql переменных в postgreSQL нет (и я с большим трудом себе могу представить ситуацию когда мне нужны переменные а не DO+pl/pgsql)

--Maxim Boguk
www.postgresql-consulting.ru


Если не трудно как переписать выше указанные код с использованием оператора do.
AndyKuvaldin
Дата: 05.03.2015 10:02:55
Maxim Boguk
AndyKuvaldin,

оператор DO и использование Pl/pgsql
просто в sql переменных в postgreSQL нет (и я с большим трудом себе могу представить ситуацию когда мне нужны переменные а не DO+pl/pgsql)

--Maxim Boguk
www.postgresql-consulting.ru


Вот я например смотрю ссылку [url=]http://www.techonthenet.com/postgresql/declare_vars.php[/url]
Там синтаксис объявления переменной точно так же как пишу я но почему то не работает.
/\/\/\/\/\/\
Дата: 05.03.2015 10:46:12
AndyKuvaldin,

Потому что Вы смотрите в какое-то странное место.
Смотреть нужно сюда.
По поводу анонимного блока (оператора DO) смотреть нужно сюда. Там же есть развернутый пример.

Кстати, где у PG находится экран, да и вообще что это такое?
AndyKuvaldin
Дата: 05.03.2015 11:18:01
/\/\/\/\/\/\
AndyKuvaldin,

Потому что Вы смотрите в какое-то странное место.
Смотреть нужно сюда.
По поводу анонимного блока (оператора DO) смотреть нужно сюда. Там же есть развернутый пример.

Кстати, где у PG находится экран, да и вообще что это такое?

Подключившись к базе на панели приборов открывается доступ к значку "лупы с надписью внутри SQL". Там есть возможность написания простейших запросов как к базе данных к которой непосредственно подключен в данный момент так и просто какие то вещи предусмотренные T-SQL.