OVH Cloud OVH Cloud

Insertion dans une base à la fin

8 réponses
Avatar
Long YE-SU
comment fait on une Insertion à la fin dans une base ?

(l'équivalent de Append en Visual Basic )

Merci
Long YE-SU

8 réponses

Avatar
Christian Robert
Bonjour,

A la fin d'une table je suppose et pas d'une base ?

A la fin d'une table çà n'est pas vraiment possible, les enregistrements
d'une table n'étant normalement pas triés (sauf présence d'un index ordonné)
çà n'aurait pas de sens...

Avez vous vraiment besoin de cela ? Que voulez vous en faire ?

--
Cordialement

Christian Robert
Consultant - Formateur chez Winwise
MCT - MCDBA - MCSD


"Long YE-SU" a écrit :

comment fait on une Insertion à la fin dans une base ?

(l'équivalent de Append en Visual Basic )

Merci
Long YE-SU





Avatar
Patrice
Cela n'a pas vraiment de sens, les lignes d'une table ne sont pas
spécialement ordonnées. Quel est le problème exact ?

--
Patrice

"Long YE-SU" a écrit dans le message de
news:43f9ccfd$0$18339$
comment fait on une Insertion à la fin dans une base ?

(l'équivalent de Append en Visual Basic )

Merci
Long YE-SU




Avatar
Long YE-SU
oui à la fin d'une table en insertion

avec une colonne index (à gauche complètement)

car quand je fais l'instruction "Insert" , y a pas une option pour mettre en
fin de table ?

Long YE-SU



"Patrice" a écrit dans le message de news:

Cela n'a pas vraiment de sens, les lignes d'une table ne sont pas
spécialement ordonnées. Quel est le problème exact ?

--
Patrice

"Long YE-SU" a écrit dans le message de
news:43f9ccfd$0$18339$
> comment fait on une Insertion à la fin dans une base ?
>
> (l'équivalent de Append en Visual Basic )
>
> Merci
> Long YE-SU
>
>




Avatar
Christian Robert
Non il n'y a pas d'option pour inserer un enregistrement à la fin d'une table
sur l'INSERT... 2 cas peuvent se produire

- Il n'y a pas d'index ordonné sur la table auquel cas l'enregistrement est
positionné dans la 1ère page ayant suffisement d'expace disponible... autant
dire assez aléatoire

- Il y a un index ordonné auquel cas l'enregistrement est inséré "entre" les
2 valeurs de clefs de l'index correspodant... Par exemple il y a "m" "n" "p"
comme clef, la clef "o" prend place entre "n" et "p"... Du coup il est
possible d'inserer "à la fin" en mettant un enregsitrement ayant une clef sur
cet index qui vaut par exemple "z"

Mais je rejoint ce que dit Patrice et je répète ce que je disais... il faut
que çà est un sens... Et 9 fois sur 10 il suffit de faire un ORDER BY sur la
requête qui renvoie les resultats et cela suffit... plutôt que de chercher un
ordre dans les enregistrement à l'insertion

--
Cordialement

Christian Robert
Consultant - Formateur chez Winwise
MCT - MCDBA - MCSD


"Long YE-SU" a écrit :

oui à la fin d'une table en insertion

avec une colonne index (à gauche complètement)

car quand je fais l'instruction "Insert" , y a pas une option pour mettre en
fin de table ?

Long YE-SU



"Patrice" a écrit dans le message de news:

> Cela n'a pas vraiment de sens, les lignes d'une table ne sont pas
> spécialement ordonnées. Quel est le problème exact ?
>
> --
> Patrice
>
> "Long YE-SU" a écrit dans le message de
> news:43f9ccfd$0$18339$
> > comment fait on une Insertion à la fin dans une base ?
> >
> > (l'équivalent de Append en Visual Basic )
> >
> > Merci
> > Long YE-SU
> >
> >
>
>





Avatar
Long YE-SU
oui je pense que vous avez tous raisons...
il n'y a pas de sens d'insérer à la fin...

mais peut on être sur qu'une requête d'insertion dans une table SQL SERVER
s'est déroulé correctement ?

Merci
Long YE-SU

"Christian Robert" (sansspam)> a écrit dans le
message de news:
Non il n'y a pas d'option pour inserer un enregistrement à la fin d'une


table
sur l'INSERT... 2 cas peuvent se produire

- Il n'y a pas d'index ordonné sur la table auquel cas l'enregistrement


est
positionné dans la 1ère page ayant suffisement d'expace disponible...


autant
dire assez aléatoire

- Il y a un index ordonné auquel cas l'enregistrement est inséré "entre"


les
2 valeurs de clefs de l'index correspodant... Par exemple il y a "m" "n"


"p"
comme clef, la clef "o" prend place entre "n" et "p"... Du coup il est
possible d'inserer "à la fin" en mettant un enregsitrement ayant une clef


sur
cet index qui vaut par exemple "z"

Mais je rejoint ce que dit Patrice et je répète ce que je disais... il


faut
que çà est un sens... Et 9 fois sur 10 il suffit de faire un ORDER BY sur


la
requête qui renvoie les resultats et cela suffit... plutôt que de chercher


un
ordre dans les enregistrement à l'insertion

--
Cordialement

Christian Robert
Consultant - Formateur chez Winwise
MCT - MCDBA - MCSD


"Long YE-SU" a écrit :

> oui à la fin d'une table en insertion
>
> avec une colonne index (à gauche complètement)
>
> car quand je fais l'instruction "Insert" , y a pas une option pour


mettre en
> fin de table ?
>
> Long YE-SU
>
>
>
> "Patrice" a écrit dans le message de news:
>
> > Cela n'a pas vraiment de sens, les lignes d'une table ne sont pas
> > spécialement ordonnées. Quel est le problème exact ?
> >
> > --
> > Patrice
> >
> > "Long YE-SU" a écrit dans le message de
> > news:43f9ccfd$0$18339$
> > > comment fait on une Insertion à la fin dans une base ?
> > >
> > > (l'équivalent de Append en Visual Basic )
> > >
> > > Merci
> > > Long YE-SU
> > >
> > >
> >
> >
>
>
>


Avatar
ThunderMusic
en utilisant des Stored Procedures (procédures stockées), tu peut tester
pour les erreurs et de plus, tu peux retourner l'identité de la table si la
clé primaire est un "auto increment" (identity). De cette facon, il est
possible de savoir si le Insert s'est bien déroulé.

en espérant que ca aide.

ThunderMusic

"Long YE-SU" wrote in message
news:43f9e2b8$0$18337$
oui je pense que vous avez tous raisons...
il n'y a pas de sens d'insérer à la fin...

mais peut on être sur qu'une requête d'insertion dans une table SQL SERVER
s'est déroulé correctement ?

Merci
Long YE-SU

"Christian Robert" (sansspam)> a écrit dans
le
message de news:
Non il n'y a pas d'option pour inserer un enregistrement à la fin d'une


table
sur l'INSERT... 2 cas peuvent se produire

- Il n'y a pas d'index ordonné sur la table auquel cas l'enregistrement


est
positionné dans la 1ère page ayant suffisement d'expace disponible...


autant
dire assez aléatoire

- Il y a un index ordonné auquel cas l'enregistrement est inséré "entre"


les
2 valeurs de clefs de l'index correspodant... Par exemple il y a "m" "n"


"p"
comme clef, la clef "o" prend place entre "n" et "p"... Du coup il est
possible d'inserer "à la fin" en mettant un enregsitrement ayant une clef


sur
cet index qui vaut par exemple "z"

Mais je rejoint ce que dit Patrice et je répète ce que je disais... il


faut
que çà est un sens... Et 9 fois sur 10 il suffit de faire un ORDER BY sur


la
requête qui renvoie les resultats et cela suffit... plutôt que de
chercher


un
ordre dans les enregistrement à l'insertion

--
Cordialement

Christian Robert
Consultant - Formateur chez Winwise
MCT - MCDBA - MCSD


"Long YE-SU" a écrit :

> oui à la fin d'une table en insertion
>
> avec une colonne index (à gauche complètement)
>
> car quand je fais l'instruction "Insert" , y a pas une option pour


mettre en
> fin de table ?
>
> Long YE-SU
>
>
>
> "Patrice" a écrit dans le message de news:
>
> > Cela n'a pas vraiment de sens, les lignes d'une table ne sont pas
> > spécialement ordonnées. Quel est le problème exact ?
> >
> > --
> > Patrice
> >
> > "Long YE-SU" a écrit dans le message de
> > news:43f9ccfd$0$18339$
> > > comment fait on une Insertion à la fin dans une base ?
> > >
> > > (l'équivalent de Append en Visual Basic )
> > >
> > > Merci
> > > Long YE-SU
> > >
> > >
> >
> >
>
>
>






Avatar
Patrice
Je ne vois pas ce que tu veux dire. L'insertion se fait quelque part (c'est
un détail d'implémentation) et les index sont mis jour.

Quel est le problème que tu as avec cette façon de procéder ?

Si c'est un problème de tri, il te suffit de spécifier une clause "ORDER BY"
dans ton instruction SELECT (à la lecture donc et non pas à l'insertion)
pour récupérer les données dans l'ordre qui te convient (éventuellement une
colonne IDENTITY ou une date de création te permet de les trier dans l'ordre
chronologique de création si c'est le problème que tu as).

--
Patrice

"Long YE-SU" a écrit dans le message de
news:43f9d7f6$0$21301$
oui à la fin d'une table en insertion

avec une colonne index (à gauche complètement)

car quand je fais l'instruction "Insert" , y a pas une option pour mettre


en
fin de table ?

Long YE-SU



"Patrice" a écrit dans le message de news:

> Cela n'a pas vraiment de sens, les lignes d'une table ne sont pas
> spécialement ordonnées. Quel est le problème exact ?
>
> --
> Patrice
>
> "Long YE-SU" a écrit dans le message de
> news:43f9ccfd$0$18339$
> > comment fait on une Insertion à la fin dans une base ?
> >
> > (l'équivalent de Append en Visual Basic )
> >
> > Merci
> > Long YE-SU
> >
> >
>
>




Avatar
SQLpro [MVP]
bonjour,

la notion d'ordre implicite n'a aucun sens dans les bases de données
relationnelles. Les bases de données relationnelles doivent être vu
comme des ensembles.

Par exemple un sac de bille est un ensemble.
La question : je voudrais insérer une bille au fond du sac n'a aucun sens.

Lisez l'article que j'ai écrit à ce sujet, cela vous évitera ce genre
d'erreurs :
http://sqlpro.developpez.com/cours/sqlaz/erreurs/#L5

Malheureusement certains logiciels qui se disent "SGBDR" font des choses
qui n'ont rien à voir avec un SGBD relationnel !!!

A +



Long YE-SU a écrit :
comment fait on une Insertion à la fin dans une base ?

(l'équivalent de Append en Visual Basic )

Merci
Long YE-SU






--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************