01. november 2001 - 10:55Der er
9 kommentarer og 1 løsning
SQL - Hvorfor er det ikke case-sensitive...
Hej,
Jeg sad her i en øvelsestime og overvejede: Hvorfor er SQL ikke case-sensitive - ville det ikke være langt smartere?
Så skulle al funktions-SQL skrives med store bogstaver, og så ville man godt kunne have coloumns der hed eksempelvis \"select\", \"group\", \"by\" og \"text\".
Man ville altså nemt kunne have: \"SELECT id FROM select WHERE where=\'3\' GROUP BY group ORDER BY order\"
Eksemplet er stillet på spidsen - men det det handler om er: Er det i virkeligheden ikke en konstruktionsfejl fra SQL-forfædrenes side?
Lidt ret har du - men derfor er det jo noget sjovt noget alligevel.
Mit eksempel var stillet kraftigt på spidsen, man kunne godt forestille sig: \"SELECT by FROM postnumre WHERE postnummer=\'7451\'\" eller \"SELECT group FROM group_members WHERE member=\'1\'\"
Ved at blive tvunget til at skrive funktions-SQL med stort bliver det jo lettere at overskue.
Jeg mener nu stadigt at det er nemmere at have reseveret ord, så er der aldrig tvivl om hvad der står og man laver heller ikke en dum fejl, fordi man kommer til at læse SQL\'en forkert i en hurtig stund.
Det er naturligvis en smags sag, men det giver de bedste muligheder for at skabe sin egen programmeringsstil når man selv bestemmer hvordan nøgleordene (og ens egne navne) skal bogstaveres (m.h.t. store/små bogstaver - _)
Det er generelt aldrig en god ide at bruge nøgleord til andet end det formål de tjener i sproget.
Måske kunne det også bruges i dagligdagen at når du f.eks skriver at du bor på Vesterbrogade, så returnerer postvæsenet alle dine breve fordi de kun kender til VesterBroGade?!?
teepee: postvæsnet kunne generelt med sucess benytte følgende SQL: \"SELECT * FROM indbyggere WHERE vej=\'Vesterbrogade\' AND postnummer=\'Vesterbrogades postnummer\'\"
Istedet for: \"SELECT * FROM indbyggere WHERE vej=\'Vesterbrogade\'\"
Der er millioner af eksempler på at postvæsnet laver fejl.
MSL>desc thomas_test Name Null? Type ----------------------------------------- -------- ---------------------------- by VARCHAR2(100) from NUMBER(10)
MSL>select \"by\" from thomas_test;
no rows selected
Så man kan altså godt hvis man benytter dobbeltplinger i både create table og selecten
Synes godt om
Slettet bruger
01. november 2001 - 14:15#9
Hvorfor afviser du mit svar?????
spørgsmålet gik vel på \"Er det i virkeligheden ikke en konstruktionsfejl fra SQL-forfædrenes side?\"
Nej, det er meningen!
Synes godt om
Slettet bruger
04. november 2001 - 18:05#10
klovn...
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.