• at the risk of sounding not very important:

    I'd very much like to see 3 changes in the sql language taken from Oracle (I know, I know, I said the O word)

    1. CREATE and ALTER:

    instead of CREATE view/table/whatever:

    and ALTER view/table/whatever:

    in 1 statement

    CREATE OR ALTER... (as oracle's CREATE OR REPLACE)

    2. cursor functionality:

    instead of :

    declare @var1 nvarchar(10)

    declare cur cursor for select myColumn from myTable

    open cur

    fetch next from cur into @var1

    etc, etc

    this is much handier:

    declare cur cursor for select myColumn from myTable

    for rec in cur

    print rec.myColumnName

    loop

    3. detecting the type from table definition

    eg:

    MyTable has a myColumn nvarchar(10)

    a stupid insert procedure would have to declare the paramter as nvarchar(10)

    eg: create myProc (@col1 nvarchar(10)) ...

    --> create myProce (@col1 MyTable.MyColumn%TYPE)

    when the type of myColumn changes there is no need to change the procedure!

    anyway, minor changes but they could make my life a bit easier