Poisk nvarchar (50) begin * from OzeraOzera_NAME like (Poisk + N % ) poisk_Oz N PROC poisk_Oz_St
@ Poisk nvarchar (50) begin * from Ozera_strana1Ozera_NAME like (Poisk + N % ) poisk_Oz_St N PROC poisk_Vod
@ Poisk nvarchar (50) begin * from VodopadyVodopad_NAME like (Poisk + N % ) poisk_Vod N PROC poisk_Ost
@ Poisk nvarchar (50) begin * from OSTROVAOstrov_NAME like (Poisk + N % ) poisk_Ost N PROC poisk_Ost_St
@ Poisk nvarchar (50) begin * from Ost_Strana1Ostrov_NAME like (Poisk + N % ) poisk_Ost_St N PROC poisk_Pust
@ Poisk nvarchar (50) begin * from PustyniPustinya_NAME like (Poisk + N % ) poisk_Pust N PROC poisk_Ps_St
@ Poisk nvarchar (50) begin * from Pustinya_strana1Pustinya_NAME like (Poisk + N % ) poisk_Ps_St N PROC poisk_Gr
@ Poisk nvarchar (50) begin * from GORNYYE_SYSTEMYGora_NAME like (Poisk + N % ) poisk_Gr N PROC poisk_Gr_St
@ Poisk nvarchar (50) begin * from Gor_St1Gora_NAME like (Poisk + N % ) poisk_Gr_St N PROC poisk_Grn
@ Poisk nvarchar (50) begin * from GORNYYE_VERSHINYGorn_NAME like (Poisk + N % ) poisk_Grn N PROC poisk_Grn_St
@ Poisk nvarchar (50) begin * from Gorn_Strana1Gorn_NAME like (Poisk + N % ) poisk_Grn_St N PROC poisk_Pesh
@ Poisk nvarchar (50) begin * from PESHCHERYPeshchera_NAME like (Poisk + N % ) poisk_Pesh N PROC poisk_Vulk
@ Poisk nvarchar (50) begin * from VULKANYVulkan_NAME like (Poisk + N % )
endpoisk_Vulk N
/***** ПОШУК МАЛЕНЬКИХ, велика країна, МОРЕЙ ... **** **/VIEW Kont_ploshK.Kontinent_ID, K.Kontinent_NAME, S.Ploshad_km2Kontinenty KStrany SK.Kontinent_ID=S. Kontinent_IDPROC malenk_Str_Kont
@ poisk nvarchar (50) beginkontinent_NAME as Континенти raquo ;, min (Ploshad_km2) as Площа найменшої країни Kont_ploshby kontinent_NAMEKontinent_NAME like (poisk + N % ) malenk_Str_Kont N Північна Америка VIEW Mor_OkO.Okean_ID, O.Okean_NAME, M.ploshadOkeany OMorya MO.Okean_ID=M.Okean_IDPROC mal_Mor_Ok
@ poisk nvarchar (50) beginOkean_NAME as Океани raquo ;, min (Ploshad) as Найменший площа моря raquo ;, max (Ploshad) as Найбільший площа моря Mor_Okby Okean_NAMEOkean_NAME like ( poisk + N % ) mal_Mor_Ok N Атлантичний
/**** ПОШУК КОНТИНЕНТІ з островами *******/PROC Kont_Ost
@ poisk nvarchar (20) beginK.Kontinent_NAME as Континент raquo ;, O.Ostrov_NAME as Острів OSTROVA OKontinenty KO.Kontinent_ID=K.Kontinent_IDKontinent_NAME like (poisk + N % )
endKont_Ost N Аз
/**** ПОШУК ОСТРОВІВ У КОНТИНЕНТІ *******/
CREATE PROC Ost_Kont
@ poisk nvarchar (20) beginO.Ostrov_NAME as Острів raquo ;, K.Kontinent_NAME as Континент OSTROVA OKontinenty KO.Kontinent_ID=K.Kontinent_IDOstrov_NAME like (poisk + N % ) Ost_Kont N
. 4 Тригери
Тригер - спеціальний вид збереженої процедури, використовуваний в реляційних БД. Тригер не може викликатися безпосередньо користувачем, він прив'язується до якоїсь базової таблиці і виконується автоматично СУБД при вставці, видалення або модифікації записів у таблиці.
/*** Площа суші і землі *****/TRIGGER plosh_sushSushainsert, update @ S_plosh int,Z_plosh int@S_plosh=S.Ploshad_sushi_mln_km2, @ Z_plosh=Z.Ploshad_mln_km2SUSHA SZEMLYA ZS.Zemlya =Z.Zemlya (@ S_plosh gt;=@ Z_plosh)
begintran ( Площа суші не може бути більше площі землі raquo ;, 16, 10)
end; SUSHAploshad_sushi_mln_km2=511
where rakurss=N Суша
/**** Площа води і землі ******/
CREATE TRIGGER plosh_VodaVodainsert, update @ V_plosh int,Z_plosh int@V_plosh=V.ploshad_vody_mln_km2, @ Z_plosh=Z.Ploshad_mln_km2Voda VZEMLYA ZV.Zemlya=Z.Zemlya (@ V_plosh gt;=@ Z_plosh)
begin tran ( Площа води не може бути більше площі землі raquo ;, 16, 10)
end; VODAploshad_vody_mln_km2=511
where rakurs=N Вода
/**** Площа океану не може бути більше площі ракурсу води *****/
CREATE TRIGGER Plosh_OkeanOkeanyinsert, update @ O_plosh int,V_plosh int@O_plosh=O.Ploshad_mln_km2, @ V_plosh=V.ploshad_vody_mln_km2Okeany O Voda VO.Zemlya=V.Zemlya (@ O_plosh gt;=@ V_plosh)
begin tran ( Площа океану не може бути більше ракурсу води raquo ;, 16, 10)
end; OkeanyPloshad_mln_km2=362
/**** Площа контин...