UTNianos

Versión completa: [Consulta] [Gestion de Datos] - Diferencia entre ANSI SQL y T-SQL
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Hola a todos, estoy preparando el final de esta materia y hasta donde creía para resolver los ejercicios se podía usar PL SQL (Oracle) o Transact SQL (Microsoft).

La duda es la siguiente, ANSI y Transact SQL son lo mismo? Si son diferentes, cual es la diferencia entre los tres?

Muchas gracias desde ya!!!
ANSI es un estandar, es el estandar basico de sql

te provee basicamente todo lo que es la estructura de sql

select
joins
where
subquerys
distinct
union
group by
having
order by
update
delete
insert

y funciones como
max
min
count
avg


transact es mas que eso, usa el estandar ansi, pero el fabricante (microsoft) agrego mas cosas propias, para hacerlo mas util/facil de usar/productivo
triggers
stored procedures
functions
cursores

y tambien algunas funciones "de libreria" para expandir lo que provee ansi
no recuerdo alguna propia ahora de t-sql, pero que las hay, las hay.


La diferencia es que las funciones ansi las podes correr en todos los motores (ej max corre en tsql, en mysql, en pl-sql [oracle]), son totalmente portables.
Las propias de cada motor solo corren en ese (podrian correr en otro de casualidad, pero no tendrian porque hacerlo)

un ejemplo:
pivot en tsql (no se ve en la cursada)
y hay mas


top e isnull, por ejemplo, y contrario a lo que enseñan en la cursada, son funciones t-sql, no ansi (top no existe en mysql, donde se usa limit, e IsNull no existe como ansi.. es Coalesce el estandar)
Muy útil la info, muchísimas Gracias por la explicación!!!
un link util (queria ponerlo ayer pero el foro no me dejaba entrar=() es este
URLs de referencia