Создать представление должно быть первым оператором в пакете

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

#include <iostream>
void frob (int x) {
    std::cout << "frob(" << x << ")\n";
}

void frob (int = 0);
int main () {
    frob();                     // using 0
    {
        void frob (int x=5) ;
        frob();                 // using 5
    }
    {
        void frob (int x=-5) ;
        frob();                 // using -5
    }
}

В вашем случае видна подпись базового класса. Чтобы использовать производные аргументы по умолчанию, вы должны явно вызвать эту функцию с помощью указателя на ваш производный класс, либо объявив его таким образом, либо правильно произведя его.

0
задан shubham srivastava 18 March 2019 в 14:56
поделиться

1 ответ

Вы можете использовать перед этим GO:

IF EXISTS(SELECT * FROM SYS.VIEWS WHERE NAME = 'TP_LEAVEDATA') BEGIN
    EXEC SP_RENAME 'TP_LEAVEDATA', 'TP_LEAVEDATA_BKP_EXPORT_TEST1' ;
END;
GO

CREATE VIEW TP_LEAVEDATA AS
    SELECT USERNAME, Dept, LeaveType, LeaveFrom, LeaveUpto
    FROM LeaveRequest_DATA;

Другой вариант - использовать динамический SQL для создания представления.

0
ответ дан Gordon Linoff 18 March 2019 в 14:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: