602SQL-Úplná dokumentace Index  

Operace nad daty z dotazu

Je-li dotaz uložen v databázi pod jménem (v SQL jako VIEW), dá se používat v manipulačních příkazech jazyka SQL na těch místech, kde může být tabulka. V uložené proceduře lze dotaz použít také v deklaraci kurzoru nebo v příkazu FOR.

Existuje však řada omezení na použití dotazu v operacích vkládajících a rušících záznamy a pro přepis dat. Níže uvedená tabulka ukazuje, jak konstrukce použité v dotazu ovlivňují možnosti práce s daty v dotazu:
Konstrukce INSERT DELETE UPDATE
Operace JOIN Nelze Nelze Lze, pokud to umožňuje alespoň jeden operand
Klauzule GROUP BY nebo agregační funkce Nelze Nelze Nelze
Operace UNION Nelze Nelze Nelze
Operace INTERSECT Nelze Dle prvního operandu Dle prvního operandu
Operace EXCEPT Nelze Dle prvního operandu Dle prvního operandu
Klauzule FOR READ ONLY Nelze Nelze Nelze
Klauzule INSENSITIVE Nelze Nelze Nelze
Proměnné v klauzulích SELECT nebo ORDER BY Nelze Nelze Nelze

Uvedení více než jedné tabulky v klauzuli FROM je operací JOIN. Jiné operace a také operace použité v subdotazech nemají na práci s daty vliv.

Pokud struktura dotazu umožňuje přepis dat (UPDATE), neznamená to ještě, že bude možno přepsat data ve všech sloupcích. Nelze přepisovat například data ve sloupcích zadaných výrazem nebo pocházejících z needitovatelných operandů v operaci JOIN.