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

Сокращение от общего выражения таблицы. Временный, многократно используемый подзапрос, который может быть рекурсивным.

7
В чем разница между CTE и Temp Table?
В чем разница между общим выражением таблицы (CTE) и временной таблицей? И когда я должен использовать один над другим? КТР WITH cte (Column1, Column2, Column3) AS ( SELECT Column1, Column2, Column3 FROM SomeTable ) SELECT * FROM cte Temp Table SELECT Column1, Column2, Column3 INTO #tmpTable FROM SomeTable SELECT * …
174 sql-server  cte 


3
Преимущества Common Table Expression (CTE)?
Этот вопрос был перенесен из переполнения стека, поскольку на него можно ответить в Exchange Stack Exchange для администраторов баз данных. Мигрировал 7 лет назад . Из MSDN : В отличие от производной таблицы, CTE может иметь самоссылку и на нее можно ссылаться несколько раз в одном запросе. Я использую CTE …
21 sql-server  cte 

4
Как на самом деле работает рекурсия SQL?
В отличие от SQL из других языков программирования, структура рекурсивного запроса выглядит довольно странно. Пройдите через это шаг за шагом, и это, кажется, разваливается. Рассмотрим следующий простой пример: CREATE TABLE #NUMS (N BIGINT); INSERT INTO #NUMS VALUES (3), (5), (7); WITH R AS ( SELECT N FROM #NUMS UNION ALL …

5
Создать план руководства по кешированию (ленивая шпуля) результата CTE
Обычно я создаю планы планов, сначала создав запрос, использующий правильный план, и скопировав его в аналогичный запрос, который этого не делает. Однако иногда это бывает сложно, особенно если запрос не совсем такой же. Какой правильный способ создания плановых руководств с нуля? SQLKiwi упомянул составление планов в SSIS, есть ли способ …
19 sql-server  t-sql  cte 

2
Рекурсивный CTE, чтобы найти Всего для всех детей
Вот дерево сборки, которое я хочу найти с помощью рекурсивного T-SQLзапроса (предположительно CTE) с ожидаемыми результатами ниже. Я хочу знать общую сумму на каждую сборку с учетом любой детали. То есть, если я ищу «Заклепка», я хочу знать общее количество на каждом уровне в сборке, а не только прямое число …

2
Несколько операций с использованием WITH
Есть ли способ выполнить несколько операций с помощью WITHоператора? Что-то вроде WITH T AS ( SELECT * FROM Tbl ) BEGIN OPEN P_OUTCURSOR FOR SELECT * FROM T; SELECT COUNT(*) INTO P_OUTCOUNT FROM T; END; Я хочу выбрать некоторые данные и их количество ...
16 oracle  select  cte 

2
PostgreSQL Рекурсивная Глубина Потомка
Мне нужно вычислить глубину потомка от его предка. Когда запись имеет object_id = parent_id = ancestor_id, она считается корневым узлом (предком). Я пытался запустить WITH RECURSIVEзапрос с PostgreSQL 9.4 . Я не контролирую данные или столбцы. Схема данных и таблиц поступает из внешнего источника. Стол постоянно растет . Прямо сейчас …

3
Оптимизация иерархии CTE
Обновление ниже У меня есть таблица учетных записей с типичной архитектурой учетных записей acct / parent для представления иерархии учетных записей (SQL Server 2012). Я создал VIEW, используя CTE для хэширования иерархии, и в целом он работает прекрасно и по назначению. Я могу запросить иерархию на любом уровне и легко …

2
Функция PostgreSQL не выполняется при вызове из CTE
Просто надеюсь подтвердить мои наблюдения и получить объяснение того, почему это происходит. У меня есть функция, определенная как: CREATE OR REPLACE FUNCTION "public"."__post_users_id_coin" ("coins" integer, "userid" integer) RETURNS TABLE (id integer) AS ' UPDATE users SET coin = coin + coins WHERE userid = users.id RETURNING users.id' LANGUAGE "sql" COST …
14 postgresql  cte 

2
Почему CTE должен начинаться с точки с запятой?
Я только что посмотрел на пост в StackOverflow, где Аарон Бертран предлагает использовать CTE вместо таблицы чисел, что является элегантным способом выполнения поставленной задачи. Мой вопрос: почему первая строка CTE начинается с точки с запятой? ;WITH n AS (SELECT TOP (10000) n FROM (SELECT n = ROW_NUMBER() OVER (ORDER BY …
14 sql-server  t-sql  cte  syntax 

2
Почему строки, вставленные в CTE, не могут быть обновлены в одном выражении?
В PostgreSQL 9.5 приведена простая таблица, созданная с помощью: create table tbl ( id serial primary key, val integer ); Я запускаю SQL, чтобы ВСТАВИТЬ значение, а затем ОБНОВИТЬ его в том же выражении: WITH newval AS ( INSERT INTO tbl(val) VALUES (1) RETURNING id ) UPDATE tbl SET val=2 …
13 postgresql  cte 

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

1
Как отсортировать результаты рекурсивного запроса в расширенном древовидном режиме?
Предположим, у вас есть nodesтакие таблицы: CREATE TABLE nodes ( node serial PRIMARY KEY, parent integer NULL REFERENCES nodes(node), ts timestamp NOT NULL DEFAULT now() ); Он представляет собой стандартную узловую древовидную структуру с корневыми узлами вверху и несколькими дочерними узлами, свисающими с корневых узлов или других дочерних узлов. Давайте …

1
Удивительные результаты для типов данных с модификатором типа
При обсуждении рекурсивного решения CTE для этого вопроса: Получить последние 5 различных значений для каждого идентификатора @ypercube наткнулся на удивительное исключение, которое привело нас к исследованию обработки модификаторов типов. Мы обнаружили удивительное поведение. 1. Тип приведение сохраняет модификатор типа в некоторых контекстах Даже когда поручено не. Самый простой пример: SELECT …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.