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

Обойти динамический запрос

19.05.2024, 11:29. Показов 495. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!

Есть такой запрос.
SQL
1
2
3
4
5
6
7
8
9
10
11
12
CREATE TABLE myTempTable1 ("column1" VARCHAR(255), "column2" INTEGER, "column3" INTEGER);
INSERT INTO myTempTable1 VALUES
('aaa', 1, 10), ('bbb', 2, 20), ('ccc', 3, 30);
 
do
$$
DECLARE
    "v_number" INTEGER = 1;
BEGIN
    CREATE INDEX temp_myTempTable1_idx1 ON myTempTable1 USING btree("column1") WHERE "column2" = "v_number";
END;
$$;
Выдает ошибку: столбец "v_number" не существует.

Вариант через динамического запроса
SQL
1
2
3
4
5
6
7
8
9
10
do
$$
DECLARE
    "v_number" INTEGER = 1;
    "v_sqlQuery" text;
BEGIN
    "v_sqlQuery" := 'CREATE INDEX temp_myTempTable1_idx1 ON myTempTable1 USING btree("column1") where "column2" = ' || "v_number" || ';'; 
    EXECUTE "v_sqlQuery";
END;
$$;
работает.

Скажите, правильно понимаю, что при создании индексов в where никак не получится использовать локальную переменную без использования динамического запроса?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.05.2024, 11:29
Ответы с готовыми решениями:

Обойти динамический запрос
Здравствуйте! Есть такой код. do $$ declare "v_minusNumberOfMonths" integer = 0; "v_result" timestamp; ...

Динамический стек массивов-списков. Как обойти AV?
Доброй ночи! Написана программа, вроде работает, но есть проблема - при добавлении(удалении) процессов(TProcess) возникает ошибка....

Можно ли обойти динамический массив не зная его размер?
Массив ниже. Есть ли способ обойти такой массив используя указатель pArr на него? Не используя count. int count = 7; int...

2
 Аватар для Аватар
5393 / 1465 / 513
Регистрация: 31.05.2012
Сообщений: 5,153
19.05.2024, 15:45
в динамике походу работает потому что в скрипт непосредственно единичка вставляется. а без динамики - тот v_number не известен для индекса
0
1264 / 978 / 384
Регистрация: 02.09.2012
Сообщений: 3,024
25.05.2024, 09:17
Переменные понимаются только у ограниченного набора выражений и только в определенных местах в этих выражениях

PL/pgSQL variable values can be automatically inserted into optimizable SQL commands, which are SELECT, INSERT, UPDATE, DELETE, MERGE, and certain utility commands that incorporate one of these, such as EXPLAIN and CREATE TABLE ... AS SELECT. In these commands, any PL/pgSQL variable name appearing in the command text is replaced by a query parameter, and then the current value of the variable is provided as the parameter value at run time.
https://www.postgresql.org/doc... ments.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.05.2024, 09:17
Помогаю со студенческими работами здесь

Обойти запрос IE
Как в IE можно обойти запрос на запуск или сохранение файла и принять по умолчанию одно.

Обойти запрос пароля
Как обойти запрос пароля в ВЭБ, когда надо по ссылке открыть файл из документа. На форме есть поля ридерс и автор Типа анонимусом.

Как обойти кроссдоменный запрос
unix/python/django Включаю example_project из djamgo-socketio сервер на 8000 порту, сокетио сервер на 9000, в браузере ошибка...

POST запрос, обойти ddos заплатку
Привет всем! private static string POST(string Url, string Data) { HttpWebRequest req =...

Можно ли с помощью макроса обойти запрос на сетевой пароль?
При открытии ссылки http://www.lme.co.uk в Excel требует пароль. Но на самом деле он не нужен - достаточно нажать ОТМЕНА или ввести любой...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
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. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru