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

Набор правил, определяющих комбинации символов, которые считаются правильно построенными для этого языка.

53
Как объединить таблицу с табличной функцией?

У меня есть пользовательская функция: create function ut_FooFunc(@fooID bigint, @anotherParam tinyint) returns @tbl Table (Field1 int, Field2 varchar(100)) as begin -- blah blah end Теперь я хочу присоединиться к этому на другом столе, вот так: select f.ID, f.Desc, u.Field1, u.Field2 from Foo f...

48
Разница в производительности для COALESCE и ISNULL?

Я видел, что многие люди используют функцию COALESCE вместо ISNULL. По результатам поиска в Интернете я обнаружил, что COALESCE - это стандарт ANSI, поэтому есть преимущество в том, что мы знаем, чего ожидать при его использовании. Тем не менее, ISNULL кажется легче читать, так как кажется более...

38
Как создать временную таблицу, используя VALUES в PostgreSQL

Я изучаю PostgreSQL и пытаюсь выяснить, как создать временную таблицу или WITHобъявление, которое можно использовать вместо обычной таблицы для целей отладки. Я посмотрел документацию по CREATE TABLE, и там написано, что она VALUESможет быть использована в качестве запроса, но не приводится пример;...

35
MySQL установить время UTC в качестве временной метки по умолчанию

Как установить столбец отметки времени, значением по умолчанию которого является текущее время UTC? MySQL использует UTC_TIMESTAMP()функцию для отметки времени UTC: mysql> SELECT UTC_TIMESTAMP(); +---------------------+ | UTC_TIMESTAMP() | +---------------------+ | 2012-07-01 11:36:35 |...

26
Почему мы используем Группу по 1 и Группу по 1,2,3 в запросе SQL?

В SQL-запросах мы используем предложение Group by для применения агрегатных функций. Но какова цель использования числового значения вместо имени столбца с предложением Group by? Например: сгруппировать по 1....

24
(NOLOCK) против NOLOCK

Я исследовал некоторые блокировки, когда увидел запрос, который выглядел примерно так: SELECT SomeField FROM SomeTable NOLOCK Я видел NOLOCKи мне было любопытно, как это может блокировать другие запросы, в данном случае DELETEзаявления. Я быстро взглянул на использование замков sp_lockи вот что я...

18
Как мне объявить и использовать переменные в Oracle?

Мои основные навыки связаны с SQL Server, но меня попросили немного настроить запрос Oracle. Я написал следующий SQL: declare @startDate int select @startDate = 20110501 И я получаю эту ошибку: declare @startDate int select @startDate = 20110501 Error at line 1 ORA-06550: line 1, column 9:...

16
Своеобразный случай синтаксиса внешнего соединения Oracle

Я видел следующее в запросе, который должен был быть перенесен из синтаксиса внешнего соединения Oracle в стандартный синтаксис внешнего соединения SQL: SELECT ... FROM A, B, C, D, E WHERE A.A_ID = B.A_ID AND B.B_ID = C.A_ID(+) AND B.B_KEY = C.B_KEY(+) AND C.C_ID = D.C_ID(+) AND B.A_ID = E.A_ID(+)...

14
Почему CTE должен начинаться с точки с запятой?

Я только что посмотрел на пост в StackOverflow, где Аарон Бертран предлагает использовать CTE вместо таблицы чисел, что является элегантным способом выполнения поставленной задачи. Мой вопрос: почему первая строка CTE начинается с точки с запятой? ;WITH n AS (SELECT TOP (10000) n FROM (SELECT n =...

13
Какой самый простой способ перемещения данных из Oracle на SQL Server?

Один из наших продуктов поддерживает Oracle и SQL Server в качестве базы данных. У нас есть клиент, который хочет перейти с серверной части Oracle на Microsoft SQL Server, что для нас не является типичным переходом. Какой самый простой способ получить все данные из всей схемы Oracle в базу данных...

13
Что позволяет SQL Server обменивать имя объекта на строку, переданную системной процедуре

Что делает законным передачу имени объекта системной хранимой процедуре sp_helptext? Какой механизм преобразует имя объекта в строку? например -- works sp_helptext myproc sp_helptext [myproc] sp_helptext [dbo.myproc] -- and behaves the same as a string sp_helptext 'myproc' sp_helptext 'dbo.myproc'...

11
Можем ли мы поставить знак равенства (=) после агрегатных функций в Transact-SQL?

Я столкнулся со сценарием, как это: set @sum = sum = (case when somecol1 is null then DATEDIFF(d,[somecol2],somecol3) else 0 end) Я не могу понять значение знака равенства (=) после второй ключевой суммы. Когда я запускаю запрос, он не показывает никаких ошибок как со знаком равенства, так и без...

10
Синтаксис INNER JOIN, вложенный в OUTER JOIN против результатов запроса

TLDR; Если вы посмотрите на 2 плана выполнения, есть ли простой ответ, который лучше? Я специально не создавал индексы, чтобы было легче увидеть, что происходит. В продолжение моего предыдущего вопроса, в котором мы обнаружили разницу в производительности запросов между различными стилями...