Šobrīd gan man nenāk prātā neviens sakarīgs scenārijs, kad kaut kas šāds būtu nepieciešams. Lai nu kā, tieši tāpat, kā var izveidot temporālas tabulas, tāpat var izveidot temporālas saglabātās procedūras.
Lokālās temporālās procedūra (redzama tikai vienas konekcijas ietvaros, eksistē tik ilgi, cik eksistē konekcija, kas to izveidoja):
Create proc #tempProcGlobāla temporāla procedūra (redzama visās konekcijās, kamēr vien pēdējā konekcija kas to izmanto ir aizvērta):
as
select 'vienas konekcijas ietvaros' KadRedzama;
Create proc ##tempProcTemporālās procedūras, gluži tāpat kā temporālas tabulas, tiek glabātas TempDB datu bāzē. Līdz ar to, ja procedūras iekšienē ir jāizpilda vaicājums no kādas konkrētas datu bāzes tabulas, tad jānorāda pilns tabuluas nosaukums (datubāze.īpašnieks.tabulasNosaukums).
as
select 'visās konekcijās' KadRedzama;
Izsaukt globālu (nosaukums sākas ar ##) temporālo storēto procedūru var visi servera lietotāji. Tas gan nenozīmē, ka tiem būs tiesības izpildīt procedūrā iekļautās komandas.
Izklausās pēc izmisīga centiena pagarināt krānu. Man domāt, ka ar šādām lietām būtu jānodarbojas aplikācijai, nevis DBVS.
AtbildētDzēstkādām- "šādām"?
Dzēst