otrdiena, 2011. gada 11. oktobris

Identifikatori un atslēgvārdi

Par to, kas ir identifikatori un kas ir atslēgvārdi gribu uzrakstīt, jo samulsu sākot domāt par "Default" kā identifikarotu un kā atslēgvārdu. sāku prātot, kas ir kas..

Definīcijas būtu tādas:
  • Identifikators (no šejienes): Rakstzīmju virkne, ko izmanto kādas funkcijas, procedūras vai mainīgā identificēšanai programmā, kā arī cietā diska vai disketes apzīmēšanai. [..]
  • Atslēgvārds (no šejienes): Noteikts vārds vai vārdu grupa programmēšanas valodā, kam ir īpaša nozīme kompilatora vai interpretatora darbībā.
Datu bāzes kontekstā tas nozīmē to, ka identifikators ir atsauce uz objektu (tabulu, kolonu, funkciju, ..), savukārt atslēgvārds ir T-SQL valodas sastāvdaļa, ko izmanto SQL Server lai "saprastu" tam dotās komandas.

Lai arī nav rekomendēts, atslēgvārdus var izmantot kā identifikatorus. Bet tajā gadījumā šie atslēgvārdi jāliek pēdiņās (dubultajās: "") vai arī kvadrātiskās iekavās (šādās: []).

Ar Default ir interesanti, jo tas tiek bieži izmantots gan kā identifikators, gan arī atslēgvārds. Lai nesamulstu, jāpievērš uzmanība vai tas ir ielikts pēdiņās / kvadrātiskās iekavās vai nav- ja ir ielikts, tas viennozīmīgi ir identifikators (Patiesībā droša programmēšanas prakse būtu visus identifikatorus likt tādās).

Piemēram:
Create Table temp
(
    i int default 3
)
on [default]
Šīs tabulas izveidē ir izmantots atslēgvārds default un arī identifikators "default". Atšķirt vienu no otra ir vienkārši, jo vienā gadījumā ir atdalītāji (šeit kvadrātiekavas), bet otrā- tā ir sintakses daļa.
Strap citu- pēdējā rindā "default" ir identifikators. Kādu objektu tad tas identificē? Šajā gadījumā- failu grupu, kas ir atzīmēta kā noklusētā. To var apskatīties:
select * from sys.filegroups
Un rezultātu kolonā "is_default" ir vieninieks- attiecīgā rinda (failu grupa) būs arī tā, uz ko norāda šis identifikators.

mdn raksti- Reserved Keywords un Identifiers.

Nav komentāru:

Komentāra publicēšana