Static typing — yet higher lever abstractions that you mention (like SQL or markup languages) are dynamically typed.
Do you call it dynamic because of the delay in getting error feedback, because the RDBMS you use is genuinely loosey-goosey with types, or for another reason?
For my part I use LINQ2SQL and the whole thing becomes statically typed.