Par rapport à quoi ??? Les voitures, c'est trop triste !!!
Par nature les curseurs sont beaucoup plus lent que les requêtes. Les curseurs rendent le code itératif. Or un SGBDR est par nature ensembliste. Utiliser des curseurs pour des traitements est donc stupide, d'autant qu'il y a aujourd'hui toutes les techniques possible pour éviter 100% des curseurs !
Cela n'existe pas en SQL. Ce n'est pas parce que Oracle fait n'importe quoi pour éviter SQL et qui plus est franchement pas génial (CONNECT BY, TO_NUMBER, MINUS, =!, DECODE, CREATE SYNONYM....) qu'il faut en imiter ses stupidités. Pour cela MS SQL Server est plus respectueux de la norme SQL. N'oubliez pas que SQL est un langage normatif. Au lieu d'apprendre ORACLE, vous auriez mieux fait d'apprendre le langage SQL. Mon livre, comme mon site web peut vous y aider !
Là vous avez raison. Mais vous êtes pas futé, car un déclencheur ensembliste peut devenir itératif en utilisant un CURSOR, ce que font de manière interne les SGBDR qui prévoit la syntaxe FOR EACH ROW !!! et donc les mauvaises performances qui vont avec !!!
N'étant spécialiste des bases de données que depuis 20 ans, je ne connais pas les transactions autonomes... Pourriez vous m'en dire plus sur ce concept ?
Encore une fois votre méconnaissance du langage SQL vous fait dire des bêtises. Voir la réponse que j'ai apporté ici :
http://www.developpez.net/forums/d69...t/#post4425537
Il est dommage d'avoir appris à conduire une twingo. Il aurait été plus intelligent d'apprendre à conduire une voiture ! C'est la même chose en SQL. Apprenez le langage, pas le produit.... Ca ira beaucoup mieux après ! Et vous verrez qu'en moyenne vous développerez 10 à 20 % plus rapidement qu'avec le PL/SQL d'Oracle !
Mon livre, comme mon site web peuvent vous y aider : http://sqlpro.developpez.com/booksql05/
A +
Partager