2015-05-13 3 views
-4

Можете ли вы помочь мне, что случилось в этой процедуре SQLЧто плохого в этой процедуре SQL

CREATE OR REPLACE 
PROCEDURE POBOCKA (vyber IN NUMBER) AS 

BEGIN 
IF vyber = 1 THEN UPDATE OBCHOD SET MESTO_OBCHOD=TrencinMESTO WHERE ID_OBCHOD=1; 
ELSIF vyber = 2 THEN UPDATE OBCHOD SET MESTO_OBCHOD=TrencinMESTO WHERE ID_OBCHOD=2; 
ELSIF vyber = 3 THEN UPDATE OBCHOD SET MESTO_OBCHOD=TrnavaMESTO WHERE ID_OBCHOD=3; 
ELSIF vyber = 4 THEN UPDATE OBCHOD SET MESTO_OBCHOD=NitraMESTO WHERE ID_OBCHOD=4; 
ELSIF vyber = 5 THEN UPDATE OBCHOD SET MESTO_OBCHOD=KosiceMESTO WHERE ID_OBCHOD=5; 
ELSIF vyber = 6 THEN UPDATE OBCHOD SET MESTO_OBCHOD=MichalovceMESTO WHERE ID_OBCHOD=6; 
ELSIF vyber = 7 THEN UPDATE OBCHOD SET MESTO_OBCHOD=LucenecMESTO WHERE ID_OBCHOD=7; 
END IF; 
END POBOCKA; 

Error (4,19): PL/SQL: SQL заявление игнорировали ошибки (4,50): PL/SQL: ORA-00904: "TRENCINMESTO": недопустимый идентификатор

+4

У вас возникли ошибки? –

+0

Ошибка (4,19): PL/SQL: заявление SQL игнорируется Ошибка (4,50): PL/SQL: ORA-00904: «TRENCINMESTO»: недопустимый идентификатор – Matus

+0

Предоставьте нам структуру вашей таблицы 'OBCHOD' и объясните нас, что вы пытаетесь сделать. Если вы хотите установить строковое значение, вам нужно использовать простые кавычки! –

ответ

1

Если вы хотите обновить строки, вы должны окружать свои значения в кавычки (')

CREATE OR REPLACE 
PROCEDURE POBOCKA (vyber IN NUMBER) AS 

BEGIN 
IF vyber = 1 THEN UPDATE OBCHOD SET MESTO_OBCHOD='TrencinMESTO' WHERE ID_OBCHOD=1; 
ELSIF vyber = 2 THEN UPDATE OBCHOD SET MESTO_OBCHOD='TrencinMESTO' WHERE ID_OBCHOD=2; 
ELSIF vyber = 3 THEN UPDATE OBCHOD SET MESTO_OBCHOD='TrnavaMESTO' WHERE ID_OBCHOD=3; 
ELSIF vyber = 4 THEN UPDATE OBCHOD SET MESTO_OBCHOD='NitraMESTO' WHERE ID_OBCHOD=4; 
ELSIF vyber = 5 THEN UPDATE OBCHOD SET MESTO_OBCHOD='KosiceMESTO' WHERE ID_OBCHOD=5; 
ELSIF vyber = 6 THEN UPDATE OBCHOD SET MESTO_OBCHOD='MichalovceMESTO' WHERE ID_OBCHOD=6; 
ELSIF vyber = 7 THEN UPDATE OBCHOD SET MESTO_OBCHOD='LucenecMESTO' WHERE ID_OBCHOD=7; 
END IF; 
END POBOCKA; 
+0

Okey, теперь его работы. благодаря – Matus