Na sua forma original, a linguagem SQL não foi desenhada como uma linguagem completa de programação, ou seja, seu projeto original tinha como enfoque básico a construção e o manuseio de banco de dados. Para incorporarmos ao SQL as capacidades usualmente encontradas nas linguagens de programação, deveremos trabalhar com: