2015-07-01 5 views
-1

Я пытаюсь создать представление с майорами и несовершеннолетними с верхним регистром, но Oracle продолжает давать мне ошибку. Что я делаю не так?Верхний регистр в Oracle sql

CREATE VIEW A5T4 КАК

ВЫБОР StudentID, Major1, Major2, Minor

ОТ A5

ГДЕ ВЕРХНИЙ (Major1, Major2, минор)

ORDER BY StudentID;

Ошибка: Ошибка отчета - Ошибка SQL: ORA-00909: неверное число аргументов 00909. 00000 - "неверное число аргументов" * Причина:
* Действие:

+0

Я не понимаю вопроса. Вы пытаетесь отображать только майоры и второстепенные, которые находятся в верхнем регистре? – Mureinik

+0

'UPPER' принимает только один параметр, и в вашем предложении WHERE нет условия. Попробуйте 'SELECT StudentID, UPPER (Major1) Major1, UPPER (Major2) Mayor2, UPPER (Minor) Minor FROM A5 ORDER BY StudentID;' – dnoeth

+0

Я пытаюсь отобразить майоры и несовершеннолетние в верхнем регистре. Так будет ли это условие одним из основных? Должен ли я их перечислить? Крупнейшими специалистами являются, например, Fin или Mis ... как мне это сделать? –

ответ

1

Ошибка в предложении where. Если вы хотите, чтобы ваши поля были в верхнем регистре, используйте функцию в предложении SELECT, а не в предложении WHERE.

Попробуйте это:

CREATE VIEW 
    A5T4 
AS 
SELECT 
    UPPER(StudentID) AS "StudentID", 
    UPPER(Major1) AS "Major1", 
    UPPER(Major2) AS "Major2", 
    UPPER(Minor) AS "Minor" 
FROM 
    A5 
ORDER BY 
    UPPER(StudentID); 
+1

Возможно, было бы правильным также свернуть регистр в «ORDER BY UPPER (StudentId)», чтобы результат соответствовал значениям, представленным в представлении. – Pekka

+1

Было бы неплохо, если бы представление давало имена столбцов, чтобы на них можно было ссылаться. –

+0

Это то, что я сделал: CREATE VIEW A5T4 КАК ВЫБОР StudentID, верхняя (Major1), верхняя (Major2), верхняя часть (Малая) ИЗ A5 ORDER BY StudentID; , но теперь он говорит, что ошибка SQL: ORA-00998: должно называть это выражение псевдонимом столбца 00998. 00000 - «должно называть это выражение псевдонимом столбца» –

Смежные вопросы