Вопросы с тегом «functions»

18
EXPLAIN ANALYZE не показывает детали для запросов внутри функции plpgsql

Я использую функцию PL / pgSQL в PostgreSQL 9.3 с несколькими сложными запросами внутри: create function f1() returns integer as $$ declare event tablename%ROWTYPE; .... .... begin FOR event IN SELECT * FROM tablename WHERE condition LOOP EXECUTE 'SELECT f2(event.columnname)' INTO dummy_return; END...

18
Мульти-оператор TVF против Inline TVF Performance

Сравнивая некоторые ответы на вопрос о Палиндроме (только 10 000 пользователей, поскольку я удалил ответ), я получаю запутанные результаты. Я предложил TVF с привязкой к нескольким операторам, который, по моему мнению, будет быстрее, чем запуск стандартной функции. У меня также сложилось...

17
Отключение проверки схемы при создании функции / хранимой процедуры

Я пытаюсь автоматизировать процесс, который выполняет изменения в базе данных SQL Server 2008 R2. Введенный мной процесс удаляет и воссоздает мои хранимые процедуры и функции, а также запускает сценарии для изменения таблиц / столбцов / данных. К сожалению, один из сценариев требует, чтобы сначала...

17
Что означает NVL?

Что означает NVL? Я говорю о функции Oracle и Informix (возможно, некоторых других), используемой для фильтрации ненулевых значений из результатов запроса (аналогично COALESCEдругим базам...

16
Найти «n» последовательных свободных номеров из таблицы

У меня есть таблица с такими номерами (статус БЕСПЛАТНЫЙ или НАЗНАЧЕН) Идентификационный номер ----------------------- 1 000001 НАЗНАЧЕН 1 000002 БЕСПЛАТНО 1 000003 НАЗНАЧЕН 1 000004 БЕСПЛАТНО 1 000005 БЕСПЛАТНО 1 000006 НАЗНАЧЕН 1 000007 НАЗНАЧЕН 1 000008 БЕСПЛАТНО 1 000009 БЕСПЛАТНО 1 000010...

15
Как использовать aes-шифрование в PostgreSQL?

Я попытался AES-шифрование с помощью следующего заявления: SELECT encrypt('test', 'key', 'aes'); который работал, но я не могу расшифровать значение. Я вставил его в поле типа данных bytea, но я не уверен, что это правильный путь. SELECT decrypt(pw, 'key', 'aes') FROM table WHERE ID = 1; дает мне...

15
Создать новую функцию по коду, если она не существует

Я хочу создать новую функцию по сценарию в моей базе данных. Код скрипта ниже: IF Exists(Select * From sys.sysobjects A Where A.name =N'fn_myfunc' and xtype=N'FN') return; CREATE FUNCTION fn_myfunc () returns varchar(10) AS Begin ... End Но когда я выполняю вышеуказанный скрипт, SQL Server...

15
Почему скалярным функциям нужно разрешение на выполнение, а не выбор?

Мне интересно, почему для скалярной функции я должен предоставить пользователю выполнение, а не только выбор? в то же время табличные функции прекрасно работают только с разрешением select или db_datareaderчленством. Чтобы быть более ясным, вот мой пример: мне нужен пользователь, который имеет...

15
Удаление столбцов в PostgreSQL 9.6 и побочные эффекты для функций SQL с CTE

Если бы у меня была таблица с 3 столбцами - скажем, A, B и D - и мне пришлось бы ввести новую - скажем, C, чтобы заменить текущую позицию D. Я бы использовал следующий метод: Введите 2 новых столбца как C и D2. Скопируйте содержимое D в D2. Удалить D. Переименуйте D2 в D. Новый порядок будет A, B,...

14
Подведение итогов к предыдущему ряду

Мне нужна помощь с оконными функциями. Я знаю, что вы можете рассчитать сумму в окне и промежуточную сумму в окне. Но возможно ли рассчитать предыдущий промежуточный итог, т.е. промежуточный итог, не включая текущую строку? Я предполагаю, что вам нужно будет использовать аргумент ROWили RANGE. Я...

13
Как получить последнее ненулевое значение в упорядоченном столбце огромной таблицы?

У меня есть следующий вход: id | value ----+------- 1 | 136 2 | NULL 3 | 650 4 | NULL 5 | NULL 6 | NULL 7 | 954 8 | NULL 9 | 104 10 | NULL Я ожидаю следующий результат: id | value ----+------- 1 | 136 2 | 136 3 | 650 4 | 650 5 | 650 6 | 650 7 | 954 8 | 954 9 | 104 10 | 104 Тривиальным решением было...

13
Группировка или Окно

У меня есть ситуация, я думаю, может быть решена с помощью оконной функции, но я не уверен. Представьте себе следующую таблицу CREATE TABLE tmp ( date timestamp, id_type integer ) ; INSERT INTO tmp ( date, id_type ) VALUES ( '2017-01-10 07:19:21.0', 3 ), ( '2017-01-10 07:19:22.0', 3 ), (...

13
Есть ли способ установить владельца всех объектов в базе данных PostgreSQL одновременно?

/programming/1348126/modify-owner-on-all-tables-simrallelually-in-postgresql описывает некоторые изящные способы изменения таблицы и других объектов для конкретного пользователя, и это работает плавно, однако все предложения, кажется, игнорируют функции, которые я создал. Есть ли достаточно простой...

13
Как реализовать алгоритм на основе множеств / UDF

У меня есть алгоритм, который мне нужно запустить для каждой строки в таблице с 800K строк и 38 столбцов. Алгоритм реализован в VBA и выполняет математические вычисления, используя значения из некоторых столбцов для манипулирования другими столбцами. В настоящее время я использую Excel (ADO) для...

12
Объедините две таблицы событий в одну временную шкалу

Даны две таблицы: CREATE TABLE foo (ts timestamp, foo text); CREATE TABLE bar (ts timestamp, bar text); Я хочу написать запрос, который возвращает значения для ts, fooи barкоторый представляет собой единое представление самых последних значений. Другими словами, если fooсодержится: ts | foo...

12
Самый быстрый способ подсчитать, сколько диапазонов дат охватывает каждую дату из серии

У меня есть таблица (в PostgreSQL 9.4), которая выглядит следующим образом: CREATE TABLE dates_ranges (kind int, start_date date, end_date date); INSERT INTO dates_ranges VALUES (1, '2018-01-01', '2018-01-31'), (1, '2018-01-01', '2018-01-05'), (1, '2018-01-03', '2018-01-06'), (2, '2018-01-01',...

12
Эмулируйте пользовательскую скалярную функцию таким образом, чтобы не предотвратить параллелизм

Я пытаюсь увидеть, есть ли способ обмануть SQL Server, чтобы использовать определенный план для запроса. 1. Окружающая среда Представьте, что у вас есть данные, которые используются разными процессами. Итак, предположим, у нас есть результаты экспериментов, которые занимают много места. Затем для...

12
Как отфильтровать использование определяемой пользователем скалярной функции из данных аудита SQL Server?

У нас есть база данных SQL Server, которая имеет спецификацию аудита базы данных, которая проверяет все выполняемые действия в базе данных. CREATE DATABASE AUDIT SPECIFICATION [dbAudit] FOR SERVER AUDIT [servAudit] ADD (EXECUTE ON DATABASE::[DatabaseName] BY [public]) Мы обнаружили, что некоторые...

12
Выберите самую длинную непрерывную последовательность

Я пытаюсь построить запрос в PostgreSQL 9.0, который получает самую длинную последовательность непрерывных строк для определенного столбца. Рассмотрим следующую таблицу: lap_id (serial), lap_no (int), car_type (enum), race_id (int FK) Где lap_noуникально для каждого (race_id, car_type). Я хотел бы,...