| 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 | |