| | 292 | 5. Селектира дестинации по score, користејќи ја функцијата destination_score(id_destination) и потоа ги сортира дестинациите од највисок score кон најнизок. Со LIMIT 5 се избираат само топ 5 дестинации со највисок score. |
| | 293 | {{{ |
| | 294 | CREATE OR REPLACE PROCEDURE recommend_top_destinations(p_user INT) |
| | 295 | LANGUAGE plpgsql AS $$ |
| | 296 | DECLARE |
| | 297 | dest RECORD; |
| | 298 | BEGIN |
| | 299 | FOR dest IN |
| | 300 | SELECT id_destination |
| | 301 | FROM destination |
| | 302 | ORDER BY destination_score(id_destination) DESC |
| | 303 | LIMIT 5 |
| | 304 | LOOP |
| | 305 | INSERT INTO destination_user(id_user, id_destination, recommendation_date) |
| | 306 | VALUES (p_user, dest.id_destination, NOW()); |
| | 307 | END LOOP; |
| | 308 | END; |
| | 309 | $$; |
| | 310 | |
| | 311 | }}} |
| | 312 | |