Объявить Варчар - Терадата - PullRequest
0 голосов
/ 01 октября 2019

я пытаюсь сохранить результат запроса в объявленный varchar, но я получил сообщение об ошибке "в подзапросе не может быть верхний n"

DECLARE d TIMESTAMP(6);
    SET d  = (SELECT TOP 1 DATE_S FROM db1_SC.LOG_SP_STATUS WHERE SP_ID = 1 AND Status IS NULL AND Date_S IS NOT NULL AND DATE_E IS NULL ORDER BY ID DESC);

Ответы [ 2 ]

0 голосов
/ 01 октября 2019

У меня нет системы TD для тестирования, но вы можете попробовать

DECLARE d TIMESTAMP(6);

SELECT TOP 1 DATE_S INTO d
FROM db1_SC.LOG_SP_STATUS 
WHERE SP_ID = 1 
AND Status IS NULL 
AND Date_S IS NOT NULL 
AND DATE_E IS NULL 
ORDER BY ID DESC;
0 голосов
/ 01 октября 2019

попробуйте это.

DECLARE d TIMESTAMP(6);

SELECT t1.DATE_S INTO d 
FROM
    (SELECT DATE_S,  ROW_NUMBER() OVER (ORDER BY ID DESC) rn
    FROM db1_SC.LOG_SP_STATUS 
    WHERE SP_ID = 1 AND Status IS NULL AND Date_S IS NOT NULL AND DATE_E IS NULL) t1
WHERE t1.rn = 1
...