T-SQL vormindaja
Vorminda T-SQL SQL Serveri ja Azure’i jaoks SQL reeglitega, mis arvestavad nurksulgudes identifikaatorite, N'' Unicode stringide, #temp-tabelite, @variables ja GO-pakettide eraldajatega. CROSS APPLY ja OUTER APPLY algavad uuelt realt, OUTPUT ja FOR JSON säilivad klauslitena ning BEGIN TRANSACTION ei ava kogemata plokki. Sulgemata stringidest ja sulgudest teatatakse andmebaasiarendajatele koos rea ja veeruga.
Korduma kippuvad küsimused
Millist T-SQL süntaksit see tunneb?
Tuvastatakse identifikaatorid kujul [nurksulgudes] koos ]] paomärkidega või jutumärkides, N'' Unicode stringid, #temp- ja ##global-ajutised tabelid, @variables ning @@ süsteemifunktsioonid. Ka staatilised meetodikutseid, näiteks geography::Point, säilitatakse muutmata.
Kuidas käsitletakse GO-pakettide eraldajaid?
Ainult GO-d sisaldav rida, soovi korral korduste arvuga, näiteks GO 5, lõpetab paketi. See jääb omaette reale ja iga pakett vormindatakse eraldi.
Milliseid T-SQL klausleid toetatakse?
CROSS APPLY ja OUTER APPLY algavad uutelt ridadelt nagu ühendused. OUTPUT, OPTION, FOR XML ja FOR JSON säilivad eraldi klauslitena kõrvuti tavaliste klauslitega.
Kas see saab vormindada salvestatud protseduure?
Jah. BEGIN- ja END-plokid, BEGIN TRY ja BEGIN CATCH, IF ja ELSE ning WHILE-tsüklid taandatakse. BEGIN TRANSACTION-i ja BEGIN TRAN-i käsitletakse lausetena, mitte ploki algusena.
Kas MERGE on toetatud?
Jah. WHEN MATCHED, WHEN NOT MATCHED BY TARGET ja WHEN NOT MATCHED BY SOURCE harud algavad uutelt ridadelt.
Kas kommentaarid säilivad?
Jah. -- real kommentaarid ja /* plokkkommentaarid */ jäävad paigale. Mitmerealised plokkkommentaarid taandatakse uue asukoha järgi uuesti.
Kas märksõnade tähesuurust muudetakse?
Ei. Märksõnade ja identifikaatorite tähesuurus jääb selliseks, nagu kirjutasite. Muutuvad ainult tühikud ja reavahetused.
Milliseid vigu tuvastatakse?
Teatatakse sulgemata stringidest, nurksulgudes või jutumärkides identifikaatoritest ja plokkkommentaaridest ning tasakaalustamata sulgudest, igaühe puhul koos rea ja veeruga. Tööriist ei loo ühendust SQL Serveriga ega kontrolli objektinimesid.
Kui suur võib sisend olla?
Kuni 1 MB päringu kohta ja 128 KB lause või paketi kohta. Laused eraldatakse tühjade ridadega.
Kas saan valida taande ja kas minu SQL salvestatakse?
Võite kasutada 2 või 4 tühikut või tabulaatoreid. Skript vormindatakse ainult mälus ja seda ei salvestata kunagi.