Arhn - архитектура программирования

Ошибка хранилища данных Azure при вставке GETDATE () в столбец datetime

Я пытаюсь вставить текущую дату в столбец datetime в хранилище данных SQL Azure, но получаю следующую ошибку.

CREATE TABLE TEST (MYTEXT VARCHAR(15), MYDATE DATETIME); 

INSERT INTO TEST (MYTEXT, MYDATE) 
VALUES ('ABCD', GETDATE());

Msg 104334, уровень 16, состояние 1, строка 11
Оператор вставки значений может содержать только постоянные литеральные значения или ссылки на переменные.


  • Ну, GETDATE() не является ни постоянным буквальным значением, ни ссылкой на переменную. Вместо этого используйте INSERT .. SELECT. 08.02.2019
  • Не могли бы вы уточнить? Тот же оператор работает в SQL Server. 08.02.2019
  • @ user2263025, сейчас он работает, но в прошлом подобная ошибка также вызывалась SQL Server. Возможно, ADW предъявляет более строгие требования INSERT INTO, чем обычный механизм обработки данных. 08.02.2019
  • А хранилище данных SQL Azure - это не SQL Server. То же семейство продуктов, не совсем такая же реализация. Действительно, этого конкретного сообщения об ошибке нет в sys.messages SQL Server 2017. docs может иметь отношение к упоминанию об этом (они упоминают только другой синтаксис, но в этом синтаксисе упоминается expression, без ограничений на типы выражений). 08.02.2019
  • Итак, как вставить текущую дату в столбец datetime в ADW? 08.02.2019
  • Вы говорите мне, что INSERT TEST(MYTEXT, MYDATE) SELECT 'ABCD', GETDATE() не работает? Потому что это меня удивит. 08.02.2019

Ответы:


1

Msg 104334, уровень 16, состояние 1, строка 11
Оператор вставки значений может содержать только значения константного литерала или ссылки на переменную.

DECLARE @Date DATETIME;
SET @Date = GETDATE();

INSERT INTO TEST (MYTEXT, MYDATE) 
VALUES ('ABCD', @Date);

Первое значение - постоянный литерал, второе - переменное.

07.02.2019
  • Достаточно хорошо. Но у меня есть ситуация, когда я хочу, чтобы Azure Stream Analytics записывала в эту базу данных. Это означает, что у меня нет привилегии определять переменные и т. Д. Нужен прямой SQL для вставки этого значения :-) 08.02.2019
  • Затем создайте значение по умолчанию для этого столбца и опустите его в INSERT - DEFAULT (GETDATE ()) 08.02.2019
  • Это снова вызов. Сообщение 104338, уровень 16, состояние 1, строка 16 Выражение не может использоваться с ограничением по умолчанию. Укажите только константы для ограничения по умолчанию 08.02.2019
  • Тогда, возможно, совет Йеруна - лучший вариант: вставить .. выбрать 08.02.2019
  • Итак, реальный вопрос: как вставить метку времени в SQL DW из Azure Stream Analytics? Это долгий путь от вашего первоначального вопроса. Вы пробовали это: docs.microsoft.com / ru-ru / stream-analytics-query / 08.02.2019

  • 2

    В Azure Synapse (формально известном как хранилище данных Azure) вставляемые значения могут быть только постоянными литералами или ссылками на переменные. Вы можете установить значение переменной или проще:

    CREATE TABLE TEST (MYTEXT VARCHAR(15), MYDATE DATETIME); 
    
    INSERT INTO TEST (MYTEXT, MYDATE) 
    SELECT 'ABCD', GETDATE() AS DATETIME;
    
    27.05.2021
    Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..