Dans une table qui contient une colonne "compteur=20
incr=E9ment auto", si une ligne est supprim=E9e, le num=E9ro=20
correspondant n'est jamais r=E9-utilis=E9.
Moyen de contourner =E7a? (R=E9cup=E9ration des trous)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jean-Nicolas BERGER
Vois pour cela l'instruction SET IDENTITY_INSERT ON | OFF JN.
"Lionel" a écrit dans le message de news: 0d1701c4ad82$6b44c800$ Dans une table qui contient une colonne "compteur incrément auto", si une ligne est supprimée, le numéro correspondant n'est jamais ré-utilisé. Moyen de contourner ça? (Récupération des trous)
Merci
Vois pour cela l'instruction SET IDENTITY_INSERT ON | OFF
JN.
"Lionel" <anonymous@discussions.microsoft.com> a écrit dans le message de
news: 0d1701c4ad82$6b44c800$a501280a@phx.gbl...
Dans une table qui contient une colonne "compteur
incrément auto", si une ligne est supprimée, le numéro
correspondant n'est jamais ré-utilisé.
Moyen de contourner ça? (Récupération des trous)
Vois pour cela l'instruction SET IDENTITY_INSERT ON | OFF JN.
"Lionel" a écrit dans le message de news: 0d1701c4ad82$6b44c800$ Dans une table qui contient une colonne "compteur incrément auto", si une ligne est supprimée, le numéro correspondant n'est jamais ré-utilisé. Moyen de contourner ça? (Récupération des trous)
Merci
Lionel
En effet, il y a des choses à fouiller ... Merci
-----Message d'origine----- Vois pour cela l'instruction SET IDENTITY_INSERT ON | OFF JN.
"Lionel" a écrit
dans le message de
news: 0d1701c4ad82$6b44c800$ Dans une table qui contient une colonne "compteur incrément auto", si une ligne est supprimée, le numéro correspondant n'est jamais ré-utilisé. Moyen de contourner ça? (Récupération des trous)
Merci
.
En effet, il y a des choses à fouiller ...
Merci
-----Message d'origine-----
Vois pour cela l'instruction SET IDENTITY_INSERT ON | OFF
JN.
"Lionel" <anonymous@discussions.microsoft.com> a écrit
dans le message de
news: 0d1701c4ad82$6b44c800$a501280a@phx.gbl...
Dans une table qui contient une colonne "compteur
incrément auto", si une ligne est supprimée, le numéro
correspondant n'est jamais ré-utilisé.
Moyen de contourner ça? (Récupération des trous)
-----Message d'origine----- Vois pour cela l'instruction SET IDENTITY_INSERT ON | OFF JN.
"Lionel" a écrit
dans le message de
news: 0d1701c4ad82$6b44c800$ Dans une table qui contient une colonne "compteur incrément auto", si une ligne est supprimée, le numéro correspondant n'est jamais ré-utilisé. Moyen de contourner ça? (Récupération des trous)
Merci
.
Fred BROUARD
C'est une hérésie que de réutiliser les trous !!!
A lire : http://sqlpro.developpez.com/cours/clefs/
A +
Lionel a écrit:
Dans une table qui contient une colonne "compteur incrément auto", si une ligne est supprimée, le numéro correspondant n'est jamais ré-utilisé. Moyen de contourner ça? (Récupération des trous)
Merci
-- Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ************************ www.datasapiens.com *************************
C'est une hérésie que de réutiliser les trous !!!
A lire : http://sqlpro.developpez.com/cours/clefs/
A +
Lionel a écrit:
Dans une table qui contient une colonne "compteur
incrément auto", si une ligne est supprimée, le numéro
correspondant n'est jamais ré-utilisé.
Moyen de contourner ça? (Récupération des trous)
Merci
--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************
A lire : http://sqlpro.developpez.com/cours/clefs/
A +
Lionel a écrit:
Dans une table qui contient une colonne "compteur incrément auto", si une ligne est supprimée, le numéro correspondant n'est jamais ré-utilisé. Moyen de contourner ça? (Récupération des trous)
Merci
-- Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ************************ www.datasapiens.com *************************
Lionel
Intéressant! d'un point de vue purement conceptuel, je suis d'accord. Dans le cas présent, il s'agit d'une base mise à jour par une seule personne. J'ai quand-même besoin d'une colonne numérique clé, avec le moins de trous possible, quitte à repasser un traitement de temps en temps pour éliminer ces trous, et renuméroter les lignes, afin de construire des fichiers extérieurs à la base, à des fins de croisement multi-critères ... Une 2ème colonne peut-être?
merci
-----Message d'origine----- C'est une hérésie que de réutiliser les trous !!!
A lire : http://sqlpro.developpez.com/cours/clefs/
A +
Lionel a écrit:
Dans une table qui contient une colonne "compteur incrément auto", si une ligne est supprimée, le numéro correspondant n'est jamais ré-utilisé. Moyen de contourner ça? (Récupération des trous)
Merci
-- Frédéric BROUARD, MVP SQL Server. Expert SQL /
spécialiste Delphi, web
Livre SQL - col. Référence :
http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros :
http://sqlpro.developpez.com
************************ www.datasapiens.com
*************************
.
Intéressant!
d'un point de vue purement conceptuel, je suis d'accord.
Dans le cas présent, il s'agit d'une base mise à jour par
une seule personne. J'ai quand-même besoin d'une colonne
numérique clé, avec le moins de trous possible, quitte à
repasser un traitement de temps en temps pour éliminer
ces trous, et renuméroter les lignes, afin de construire
des fichiers extérieurs à la base, à des fins de
croisement multi-critères ...
Une 2ème colonne peut-être?
merci
-----Message d'origine-----
C'est une hérésie que de réutiliser les trous !!!
A lire : http://sqlpro.developpez.com/cours/clefs/
A +
Lionel a écrit:
Dans une table qui contient une colonne "compteur
incrément auto", si une ligne est supprimée, le numéro
correspondant n'est jamais ré-utilisé.
Moyen de contourner ça? (Récupération des trous)
Intéressant! d'un point de vue purement conceptuel, je suis d'accord. Dans le cas présent, il s'agit d'une base mise à jour par une seule personne. J'ai quand-même besoin d'une colonne numérique clé, avec le moins de trous possible, quitte à repasser un traitement de temps en temps pour éliminer ces trous, et renuméroter les lignes, afin de construire des fichiers extérieurs à la base, à des fins de croisement multi-critères ... Une 2ème colonne peut-être?
merci
-----Message d'origine----- C'est une hérésie que de réutiliser les trous !!!
A lire : http://sqlpro.developpez.com/cours/clefs/
A +
Lionel a écrit:
Dans une table qui contient une colonne "compteur incrément auto", si une ligne est supprimée, le numéro correspondant n'est jamais ré-utilisé. Moyen de contourner ça? (Récupération des trous)
Merci
-- Frédéric BROUARD, MVP SQL Server. Expert SQL /
spécialiste Delphi, web
Livre SQL - col. Référence :
http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros :
http://sqlpro.developpez.com
************************ www.datasapiens.com
*************************
.
Fred BROUARD
et que se passe t-il si le trou consommé a été archivé avec un item et que l'utilisateur veuille récupérer son delete commis pas erreur ?
t2 : 11h22m44 DELETE FROM T_CLIENT WHERE CLI_ID = 1
sauvegarde à 11h22m45
t3 : 11h22m55 INSERT INTO T_CLIENT (CLI_ID, CLI_NOM ... ) VALUES (1, 'Martin', ...
"Ha !" dis l'utilisateur "j'ai effacé par erreur Dupont... Pouvez vous monsiuer le dba reprendre la sauvegarde de 11h22m35 et la mettre sur une nouvelle base pour récupérer les données de Dupont ?"
"Mauvaise idée" dis le dba... "Vous m'avez obliger à reprendre les clefs parce que vous n'avez rien compris à ce qu'est une base de données...."
PS : un entier ne permet de délivrer _que_ 2 milliards de clefs si l'on commence à 1. Et 4 milliards si l'on commence à -2 000 000 000. A raison d'une insertion par seconde => 30 ans...
Lionel a écrit:
Intéressant! d'un point de vue purement conceptuel, je suis d'accord. Dans le cas présent, il s'agit d'une base mise à jour par une seule personne.
Et lorsque la personne ne sera plus seule ?
>J'ai quand-même besoin d'une colonne
numérique clé, avec le moins de trous possible,
aucun intérêt et même grande stupidité. Une clef est un mécanisme interne à l'informatique, pas à l'utilisateur. Un utilisateur s'apelle par son nom et non pas 3216546513513213241896435121 !
quitte à repasser un traitement de temps en temps pour éliminer ces trous, et renuméroter les lignes, afin de construire des fichiers extérieurs à la base, à des fins de croisement multi-critères ...
C'est zncore pire que ce que je croyais !
Une 2ème colonne peut-être?
Je vous conseille dans ce cas d'éviter les bases de données, un simple fichier texte sera plus adapté a votre mode de pensé et vous pourrez faire ce que vous voulez !
merci
A +
-----Message d'origine----- C'est une hérésie que de réutiliser les trous !!!
A lire : http://sqlpro.developpez.com/cours/clefs/
A +
Lionel a écrit:
Dans une table qui contient une colonne "compteur incrément auto", si une ligne est supprimée, le numéro correspondant n'est jamais ré-utilisé. Moyen de contourner ça? (Récupération des trous)
Merci
-- Frédéric BROUARD, MVP SQL Server. Expert SQL /
spécialiste Delphi, web
Livre SQL - col. Référence :
http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros :
http://sqlpro.developpez.com
************************ www.datasapiens.com
*************************
.
-- Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ************************ www.datasapiens.com *************************
et que se passe t-il si le trou consommé a été archivé avec un item et que
l'utilisateur veuille récupérer son delete commis pas erreur ?
t2 : 11h22m44
DELETE FROM T_CLIENT WHERE CLI_ID = 1
sauvegarde à 11h22m45
t3 : 11h22m55
INSERT INTO T_CLIENT (CLI_ID, CLI_NOM ... ) VALUES (1, 'Martin', ...
"Ha !" dis l'utilisateur "j'ai effacé par erreur Dupont... Pouvez vous monsiuer
le dba reprendre la sauvegarde de 11h22m35 et la mettre sur une nouvelle base
pour récupérer les données de Dupont ?"
"Mauvaise idée" dis le dba... "Vous m'avez obliger à reprendre les clefs parce
que vous n'avez rien compris à ce qu'est une base de données...."
PS : un entier ne permet de délivrer _que_ 2 milliards de clefs si l'on commence
à 1. Et 4 milliards si l'on commence à -2 000 000 000.
A raison d'une insertion par seconde => 30 ans...
Lionel a écrit:
Intéressant!
d'un point de vue purement conceptuel, je suis d'accord.
Dans le cas présent, il s'agit d'une base mise à jour par
une seule personne.
Et lorsque la personne ne sera plus seule ?
>J'ai quand-même besoin d'une colonne
numérique clé, avec le moins de trous possible,
aucun intérêt et même grande stupidité. Une clef est un mécanisme interne à
l'informatique, pas à l'utilisateur. Un utilisateur s'apelle par son nom et non
pas 3216546513513213241896435121 !
quitte à
repasser un traitement de temps en temps pour éliminer
ces trous, et renuméroter les lignes, afin de construire
des fichiers extérieurs à la base, à des fins de
croisement multi-critères ...
C'est zncore pire que ce que je croyais !
Une 2ème colonne peut-être?
Je vous conseille dans ce cas d'éviter les bases de données, un simple fichier
texte sera plus adapté a votre mode de pensé et vous pourrez faire ce que vous
voulez !
merci
A +
-----Message d'origine-----
C'est une hérésie que de réutiliser les trous !!!
A lire : http://sqlpro.developpez.com/cours/clefs/
A +
Lionel a écrit:
Dans une table qui contient une colonne "compteur
incrément auto", si une ligne est supprimée, le numéro
correspondant n'est jamais ré-utilisé.
Moyen de contourner ça? (Récupération des trous)
Merci
--
Frédéric BROUARD, MVP SQL Server. Expert SQL /
spécialiste Delphi, web
Livre SQL - col. Référence :
http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros :
http://sqlpro.developpez.com
************************ www.datasapiens.com
*************************
.
--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************
t2 : 11h22m44 DELETE FROM T_CLIENT WHERE CLI_ID = 1
sauvegarde à 11h22m45
t3 : 11h22m55 INSERT INTO T_CLIENT (CLI_ID, CLI_NOM ... ) VALUES (1, 'Martin', ...
"Ha !" dis l'utilisateur "j'ai effacé par erreur Dupont... Pouvez vous monsiuer le dba reprendre la sauvegarde de 11h22m35 et la mettre sur une nouvelle base pour récupérer les données de Dupont ?"
"Mauvaise idée" dis le dba... "Vous m'avez obliger à reprendre les clefs parce que vous n'avez rien compris à ce qu'est une base de données...."
PS : un entier ne permet de délivrer _que_ 2 milliards de clefs si l'on commence à 1. Et 4 milliards si l'on commence à -2 000 000 000. A raison d'une insertion par seconde => 30 ans...
Lionel a écrit:
Intéressant! d'un point de vue purement conceptuel, je suis d'accord. Dans le cas présent, il s'agit d'une base mise à jour par une seule personne.
Et lorsque la personne ne sera plus seule ?
>J'ai quand-même besoin d'une colonne
numérique clé, avec le moins de trous possible,
aucun intérêt et même grande stupidité. Une clef est un mécanisme interne à l'informatique, pas à l'utilisateur. Un utilisateur s'apelle par son nom et non pas 3216546513513213241896435121 !
quitte à repasser un traitement de temps en temps pour éliminer ces trous, et renuméroter les lignes, afin de construire des fichiers extérieurs à la base, à des fins de croisement multi-critères ...
C'est zncore pire que ce que je croyais !
Une 2ème colonne peut-être?
Je vous conseille dans ce cas d'éviter les bases de données, un simple fichier texte sera plus adapté a votre mode de pensé et vous pourrez faire ce que vous voulez !
merci
A +
-----Message d'origine----- C'est une hérésie que de réutiliser les trous !!!
A lire : http://sqlpro.developpez.com/cours/clefs/
A +
Lionel a écrit:
Dans une table qui contient une colonne "compteur incrément auto", si une ligne est supprimée, le numéro correspondant n'est jamais ré-utilisé. Moyen de contourner ça? (Récupération des trous)
Merci
-- Frédéric BROUARD, MVP SQL Server. Expert SQL /
spécialiste Delphi, web
Livre SQL - col. Référence :
http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros :
http://sqlpro.developpez.com
************************ www.datasapiens.com
*************************
.
-- Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ************************ www.datasapiens.com *************************