Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CREATE OR REPLACE FUNCTION FindClient
- ( N_CLIENT IN NUMBER,
- C_CITY IN VARCHAR2 )
- RETURN NUMBER
- IS
- TMP_C_CITY_CLIENT VARCHAR2; -- название города у клиента
- TMP_N_CITY NUMBER; -- ID города, для возможной замены у клиента
- BEGIN
- /* Узнали название города у пользователя */
- SELECT ci.c_city INTO TMP_C_CITY_CLIENT
- FROM client cl
- LEFT JOIN city ci ON ci.n_city = cl.n_city
- WHERE cl.n_client = N_CLIENT;
- IF (TMP_C_CITY_CLIENT IS NOT NULL) THEN -- если пользователь существует
- BEGIN
- IF (TMP_C_CITY_CLIENT = C_CITY) THEN -- совпали введенный город и город у пользователя
- RETURN 1;
- ELSE
- BEGIN
- SELECT ci.n_city INTO TMP_N_CITY -- узнали ID введенного города
- FROM city ci
- WHERE ci.c_city = C_CITY;
- UPDATE client cl -- обновим ID города у клиента
- SET cl.n_city = TMP_N_CITY
- WHERE cl.n_client = N_CLIENT;
- RETURN 0;
- END
- END
- ELSE
- RETURN 0;
- END;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement