Diferència entre revisions de la pàgina «ASIX/M10/UF1/A05/E1»

De Lordwektabyte Wiki
Salta a la navegació Salta a la cerca
Línia 1: Línia 1:
 
==ASIX M10 UF1==
 
==ASIX M10 UF1==
 
===Pt5. Codificació de funcions===
 
===Pt5. Codificació de funcions===
Guillem Solà i Boeck (host: PC05)
+
Andreu Potrony (host: PC04)
 
==Enunciat==
 
==Enunciat==
Crear un procediment/funció, de tal forma que si li passem el nom d'un llenguatge, ens mostri els paisos que el tenen com a oficial.
+
Crear un procediment/funció, de tal forma que si li passem el nom d'un país, ens mostri els territoris que el formen.
  
 
===Solució===
 
===Solució===
 
<source lang="mysqle">
 
<source lang="mysqle">
CREATE DEFINER=`root`@`localhost` PROCEDURE `paisos_llengua`(in llenguatge varchar(30))
+
CREATE DEFINER=`root`@`localhost` PROCEDURE `act_51`(in Nom_pais varchar(30))
 
BEGIN
 
BEGIN
DECLARE pais varchar(30);
+
SELECT Distinct City.District
  SELECT Country.Name
+
   FROM Country Join City on Country.code = City.CountryCode
   FROM CountryLanguage JOIN Country ON Country.Code = CountryLanguage.CountryCode
+
   WHERE Country.Name=Nom_pais;
   WHERE CountryLanguage.Language=llenguatge AND CountryLanguage.IsOfficial="T";
 
 
END
 
END
 
</source>
 
</source>
Línia 18: Línia 17:
 
==Execució==
 
==Execució==
 
<source lang="mysqle">
 
<source lang="mysqle">
MariaDB [world]> call paisos_llengua("English");
+
call act_51 ("spain");
 
</source>
 
</source>
  
 
<source>
 
<source>
+--------------------------------------+
+
+--------------------+
| Name                                |
+
| District          |
+--------------------------------------+
+
+--------------------+
| Anguilla                            |
+
| Madrid            |
| American Samoa                      |
+
| Katalonia          |
| Antigua and Barbuda                  |
+
| Valencia          |
| Australia                            |
+
| Andalusia          |
| Belize                              |
+
| Aragonia          |
| Bermuda                              |
+
| Baskimaa          |
| Barbados                            |
+
| Canary Islands     |
| Canada                              |
+
| Murcia             |
| Cocos (Keeling) Islands             |
+
| Balears            |
| Christmas Island                    |
+
| Castilla and León  |
| Cayman Islands                      |
+
| Galicia            |
| Falkland Islands                    |
+
| Asturia            |
| United Kingdom                      |
+
| Cantabria          |
| Gibraltar                            |
+
| Navarra            |
| Guam                                |
+
| Kastilia-La Mancha |
| Hong Kong                            |
+
| Extremadura        |
| Ireland                              |
+
| La Rioja          |
| Saint Kitts and Nevis                |
+
+--------------------+
| Saint Lucia                          |
+
17 rows in set (0.00 sec)
| Lesotho                              |
+
 
| Marshall Islands                    |
+
Query OK, 0 rows affected (0.00 sec)
| Malta                                |
+
 
| Northern Mariana Islands             |
 
| Montserrat                          |
 
| Norfolk Island                      |
 
| Niue                                |
 
| Nauru                                |
 
| New Zealand                          |
 
| Palau                                |
 
| Saint Helena                        |
 
| Seychelles                          |
 
| Turks and Caicos Islands            |
 
| Tokelau                              |
 
| Tonga                                |
 
| Tuvalu                              |
 
| United States Minor Outlying Islands |
 
| United States                        |
 
| Saint Vincent and the Grenadines    |
 
| Virgin Islands, British              |
 
| Virgin Islands, U.S.                |
 
| Vanuatu                              |
 
| Samoa                                |
 
| South Africa                        |
 
| Zimbabwe                            |
 
+--------------------------------------+
 
44 rows in set (0.01 sec)
 
  
Query OK, 0 rows affected (0.01 sec)
 
 
</source>
 
</source>

Revisió del 15:55, 8 feb 2018

ASIX M10 UF1

Pt5. Codificació de funcions

Andreu Potrony (host: PC04)

Enunciat

Crear un procediment/funció, de tal forma que si li passem el nom d'un país, ens mostri els territoris que el formen.

Solució

CREATE DEFINER=`root`@`localhost` PROCEDURE `act_51`(in Nom_pais varchar(30))
BEGIN
SELECT Distinct City.District
  FROM Country Join City on Country.code = City.CountryCode
  WHERE Country.Name=Nom_pais;
END

Execució

call act_51 ("spain");
+--------------------+
| District           |
+--------------------+
| Madrid             |
| Katalonia          |
| Valencia           |
| Andalusia          |
| Aragonia           |
| Baskimaa           |
| Canary Islands     |
| Murcia             |
| Balears            |
| Castilla and León  |
| Galicia            |
| Asturia            |
| Cantabria          |
| Navarra            |
| Kastilia-La Mancha |
| Extremadura        |
| La Rioja           |
+--------------------+
17 rows in set (0.00 sec)

Query OK, 0 rows affected (0.00 sec)