Hi /g/, I've had some experience with MySQL and PL/SQL but it looks like I'm being forced to learn T-SQL soon.
Are there any big differences that I should know about or some small syntax differences?
I've seen some information about the differences with the LIMIT argument on a SELECT and some benefits regarding values smaller that one second, etc.
Thanks in advance.
PL/SQL to TSQL
Arrays do not exist, use @Temporary tables
No error handling in functions
remember to code OUTPUT on procedure arguments in the procedure definition AND the execute statement
triggers; :old and :new replaced with inserted and deleted tables
triggers; cannot do for each row, cannot do column
create or replace object does not exist; recommend if object_id(object,type) is null exec 'create object as ...' then alter object. - major pain - my biggest gripe
no packages
arguments for objects must specify size i.e. function crap(invar varchar2) is now function crap(invar varchar(254))
variable assignment goes from var := value to either SET @var = value or SELECT @var = value
that's all i can remember
just remembered
select column
into var
from whatever
is now
select @var = value
from whatever
if more than one row oracle will throw too many rows error. sql simply returns the last row
usually that sucks but you can use it like oracle LISTAGG
select @var = isnull(@var+','+column,column)
from whatever
also nvl is isnull
>>55214116
>>55214179
I will thank you for OP. Clearly he is a giant asshat