Things I didn’t know I hate about MS SQL Server 2000
No Except operator (aka Oracle Minus). Its called a Relational Database Management System because the databases are supposed to be telational. I suppose I expect too much because I can think in Tuple Relational Calculus and Relational Algebra. Not being able to do simple set arithmetic is quite pathetic. I realize tha SQL Server 2000 is now nearly 6 years old, but please, I’m pretty damn sure PostgreSQL had Except back in 2000. This limitation leaves me feeling like I’m using MySQL.
User defined Functions aren’t allowed to reference or use TEMP tables??? Huh? What kind of restraint is this? In every other RDBMS I’ve used, (very little Oracle and PostgreSQL. MySQL does not count) the difference between Functions and Stored Procedures is almost none. Shouldn’t a Stored Procedure be just like a function which returns no value? Surely I’m missing something on this point. I’m no DBA. Reasons aside, this is a painful restriction.
The combination of the above two restricts me further. I would use the later to work around the former, but alas. I cannot.
select
col1, col2
from
tab1
left join tab2 using (col1,col2)
where
tab2.col1 is null
and
tab2.col2 is null;