+ Répondre à la discussion Actualité déjà publiée
Page 1 sur 3 123 DernièreDernière
Affichage des résultats 1 à 20 sur 48
  1. #1
    Rédacteur


    Avatar de Maxence HUBICHE
    Homme Profil pro Maxence HUBICHE
    Développeur SQLServer/Access
    Inscrit en
    juin 2002
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Nom : Homme Maxence HUBICHE
    Âge : 45
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : juin 2002
    Messages : 3 841
    Points : 9 058
    Points
    9 058

    Par défaut Création de la FAQ SQL !!! (Voulez-vous participer ?)

    Bonjour à tous.

    Nous avons l'ambition de fournir aux visiteurs une FAQ sur le langage SQL.

    Ceci demande beaucoup de temps.

    Voudriez-vous nous épauler ?

    Pour cela, nous vous proposons de poster à la suite de ce message, toute question qui vous parait récurrente ou importante, ainsi que la réponse que vous apporteriez.

    Merci beaucoup !

    Si tout le monde participe un petit peu, il est probable que nous ayons un produit de qualité à proposer pour tous, assez rapidement.

    Cordialement,

  2. #2
    Expert Confirmé
    Avatar de trotters213
    Profil pro
    Inscrit en
    janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 29
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : janvier 2005
    Messages : 2 571
    Points : 3 114
    Points
    3 114

    Par défaut


    J'ouvre le bal
    Quelques questions qui reviennent assez souvent :

    Q Comment faire pour exécuter une requête contenant des caractères spéciaux (côtes, doubles côtes,...) ?
    R En doublant le caractère en question :
    Code :
    1
    2
    INSERT INTO t_table 
    VALUES ('Aujourd''hui')

    Q Comment sélectionner les X "premiers" enregistrements :
    R
    Code :
    1
    2
    SELECT TOP X t_champ 
    FROM t_table
    Q Comment sélectionner les X "derniers" enregistrements :
    R
    Code :
    1
    2
    3
    SELECT TOP X t_champ 
    FROM t_table 
    ORDER BY t_champ DESC
    Q Comment sélectionner entre le X° et le Y° enregistrement (X<Y) :
    R
    Code :
    1
    2
    3
    4
    5
    6
    7
    SELECT * 
    FROM (SELECT TOP Y-X * 
          FROM (SELECT TOP Y * 
                FROM t_table
                ORDER BY t_id) AS t1 
          ORDER BY t_id DESC) AS t2 
    ORDER BY t_id
    Q Les équivalents pour trouver les limites ?
    R
    Code :
    1
    2
    3
    4
    5
    Access et SQL Server : TOP
    MySQL et PostGreSQL : LIMIT
    Interbases : ROWS
    Paradox : aucun 
    Oracle : ROWNUM -- corrigé par fadace
    Cf : http://sqlpro.developpez.com/cours/s...onctions/#L1.8
    Q Je suis sous MS SQL Server et la taille de mon fichier log n'arrête pas d'augmenter devenant bien plus grande que la taille de ma base , pourquoi et comment faire pour réduire cette taille ?
    R Ce fichier conserve toutes les opérations entreprises sur la base (INSERT, DELETE, UPDATE,...) ce qui le fait grandir constamment.
    Pour palier à ce problème, vous pouvez utiliser les requêtes suivantes qui tendront à limiter la taille du fichier log :
    Code :
    1
    2
    3
    DBCC SHRINKFILE (votre_base_Log, taille_maximale_voulue_pour_le_fichier_log)
    BACKUP LOG votre_base  WITH TRUNCATE_ONLY
    DBCC SHRINKFILE (votre_base_Log, taille_maximale_voulue_pour_le_fichier_log)
    Attention :
    1. Il faut que le mode de recouvrement de la base soit en mode "Complet" (dans l'Entreprise Manager : Propriétés -> Option -> Récupération -> Modèle -> Complet).
    2. Un fichier log trop petit peut entrainer une forte baisse des performances voir bloquer le serveur.

  3. #3
    Rédacteur


    Avatar de Maxence HUBICHE
    Homme Profil pro Maxence HUBICHE
    Développeur SQLServer/Access
    Inscrit en
    juin 2002
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Nom : Homme Maxence HUBICHE
    Âge : 45
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : juin 2002
    Messages : 3 841
    Points : 9 058
    Points
    9 058

    Par défaut



    merci beaucoup !
    Au suivant !!!!

  4. #4
    Modérateur
    Avatar de al1_24
    Homme Profil pro Alain
    Ingénieur d'études décisionnel
    Inscrit en
    mai 2002
    Messages
    5 670
    Détails du profil
    Informations personnelles :
    Nom : Homme Alain
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'études décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : mai 2002
    Messages : 5 670
    Points : 14 583
    Points
    14 583

    Par défaut

    Comment mettre à jour une table à partir des données d'une autre table ?
    Code :
    1
    2
    3
    4
    update	MAJ 
    set		CHAMP_CIBLE		= SRC.CHAMP_SOURCE
    from	TABLE_SOURCE	as SRC
    where	MAJ.CLE_JOINTURE = SRC.CLE_JOINTURE
    Comment mettre à jour une table à partir des données d'une requête ?
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    update	MAJ
    set		CHAMP_CIBLE		= SRC.CHAMP_SOURCE
    from	TABLE_CIBLE		as MAJ
    	,	(	select 	CLE_JOINTURE
    				,	count(*)	as CHAMP_SOURCE	-- exemple...
       			from	TABLE_SOURCE
       			group by CLE_JOINTURE
    		)	as SRC
    where 	MAJ.CLE_JOINTURE = SRC.CLE_JOINTURE

  5. #5
    Membre habitué
    Homme Profil pro Sylvain Gourvil
    Directeur technique
    Inscrit en
    mars 2005
    Messages
    251
    Détails du profil
    Informations personnelles :
    Nom : Homme Sylvain Gourvil
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : mars 2005
    Messages : 251
    Points : 148
    Points
    148

    Par défaut

    Q Comment supprimer des n-uplets en cascade ?
    R Juste lister les différentes possibilités afin d'aider à la recherche
    1. ON DELETE ...
    2. Batch de nuit
    3. Procedures stockées
    ...

    C'est un probleme que je me posais et c'est pas facile de trouver toutes les différents façons quand on y connait rien !
    Mais je comprendrais que ca ne soit pas approprié

  6. #6
    Membre éprouvé
    Avatar de argoet
    Inscrit en
    mai 2002
    Messages
    547
    Détails du profil
    Informations forums :
    Inscription : mai 2002
    Messages : 547
    Points : 497
    Points
    497

    Par défaut

    Une petite FAQ sur les comparaisons de champs

    comparer ce qui est comparable (Surtout sur les dates)
    beaucoup de post sur le sujet
    Signé : Capitaine Jean-Luc Picard

  7. #7
    Expert Confirmé
    Avatar de trotters213
    Profil pro
    Inscrit en
    janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 29
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : janvier 2005
    Messages : 2 571
    Points : 3 114
    Points
    3 114

    Par défaut

    Q Comment utiliser les booléens quand le type n'existe pas ?
    R En utilisant BIT(1) ou BYTE (1).

  8. #8
    Rédacteur


    Avatar de Maxence HUBICHE
    Homme Profil pro Maxence HUBICHE
    Développeur SQLServer/Access
    Inscrit en
    juin 2002
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Nom : Homme Maxence HUBICHE
    Âge : 45
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : juin 2002
    Messages : 3 841
    Points : 9 058
    Points
    9 058

    Par défaut

    Citation Envoyé par Tchinkatchuk
    Q Comment supprimer des n-uplets en cascade ?
    R Juste lister les différentes possibilités afin d'aider à la recherche
    1. ON DELETE ...
    2. Batch de nuit
    3. Procedures stockées
    ...

    C'est un probleme que je me posais et c'est pas facile de trouver toutes les différents façons quand on y connait rien !
    Mais je comprendrais que ca ne soit pas approprié
    je n'ai pas très bien compris la solution que tu apportes à la question.
    tu pourrais reformuler s'il te plait ?

  9. #9
    Rédacteur


    Avatar de Maxence HUBICHE
    Homme Profil pro Maxence HUBICHE
    Développeur SQLServer/Access
    Inscrit en
    juin 2002
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Nom : Homme Maxence HUBICHE
    Âge : 45
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : juin 2002
    Messages : 3 841
    Points : 9 058
    Points
    9 058

    Par défaut

    Citation Envoyé par argoet
    Une petite FAQ sur les comparaisons de champs

    comparer ce qui est comparable (Surtout sur les dates)
    beaucoup de post sur le sujet
    c'est quoi la question ???
    Et quelle est la réponse ???

  10. #10
    Rédacteur


    Avatar de Maxence HUBICHE
    Homme Profil pro Maxence HUBICHE
    Développeur SQLServer/Access
    Inscrit en
    juin 2002
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Nom : Homme Maxence HUBICHE
    Âge : 45
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : juin 2002
    Messages : 3 841
    Points : 9 058
    Points
    9 058

    Par défaut

    Bon, sinon, je suis en train de peaufiner la première version de cette FAQ.
    Actuellement :
    2 auteurs et 8 Q/R
    bravo pour ceux qui ont participé.
    mais à ce rythme, on n'est pas près de rattraper la FAQ Access (avec ses 607 Q/R)

    Je fais quelques demandes en interne pour pouvoir publier, et je vous donne le lien, dans la foulée, pour que vous voyez ce que cela donne

    Allez !
    Courage !

    On reprend à partir de là


  11. #11
    Membre éprouvé
    Avatar de argoet
    Inscrit en
    mai 2002
    Messages
    547
    Détails du profil
    Informations forums :
    Inscription : mai 2002
    Messages : 547
    Points : 497
    Points
    497

    Par défaut

    Comment Ajouter des jours / Heures / Minutes / Secondes à une date (ORACLE ?) :

    La Pseudo Colonne SYSDATE Vous permet de connaitre la date et l'heure courante de votre systeme d'exploitation

    Ajouter 1 à SYSDATE permet d'incrementer votre date d'une journée (Sysdate + 1)

    L'utilisation des Fractions De Date : +1 Heure , + 1 minute , + 1 seconde .
    exemples:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    SQL> alter session set NLS_DATE_FORMAT='DD/MM/YYYY HH24:MI:SS';
     
    Session altered.
     
    SQL> select sysdate, sysdate+1/24, sysdate +1/1440, sysdate + 1/86400 from dual;
     
    SYSDATE             SYSDATE+1/24        SYSDATE+1/1440      SYSDATE+1/86400
    ------------------- ------------------- ------------------- -------------------
    06/05/2005 16:20:57 06/05/2005 17:20:57 06/05/2005 16:21:57 06/05/2005 16:20:58
     
    SQL> select sysdate J, sysdate+30/(24*60*60) J_PLUS_30_SECS from dual;
     
    J                   J_PLUS_30_SECS
    ------------------- -------------------
    06/05/2005 16:21:58 06/05/2005 16:22:28

    Expression de Date : Des Exemples
    ================================

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Maintenant :                       SYSDATE
    Demain / la Prochaine Journee :    SYSDATE + 1
    Dans 7 Jour :                      SYSDATE + 7
    Dans 1 heure :                     SYSDATE + 1/24
    Dans 3 heures :                    SYSDATE + 3/24
    Dans 1/2 Heure :                   SYSDATE + 1/48
    Dans 10 minutes :                  SYSDATE + 10/1440
    Dans 30 Secondes :                 SYSDATE + 30/86400
    Demain à 0h  :                     TRUNC(SYSDATE + 1)
    Demain à 8h du Matin :             TRUNC(SYSDATE + 1) + 8/24 
     
    Lundi Prochain à Midi :            
    Si NLS_TERRITORY='FRANCE'          NEXT_DAY(TRUNC(SYSDATE), 'LUNDI') + 12/24 
    Sinon                              NEXT_DAY(TRUNC(SYSDATE), 'MONDAY') + 12/24      
     
    1er Jour Du Mois Suivant à 0h :    TRUNC(LAST_DAY(SYSDATE ) + 1)  
    1er Jour Du Mois Courant à 0h :    TRUNC(LAST_DAY(ADD_MONTHS(SYSDATE,-1))) + 1
    Signé : Capitaine Jean-Luc Picard

  12. #12
    Membre éprouvé Avatar de lper
    Inscrit en
    juin 2004
    Messages
    328
    Détails du profil
    Informations forums :
    Inscription : juin 2004
    Messages : 328
    Points : 413
    Points
    413

    Par défaut

    Bonjour,
    je tiens à préciser que selon le SGBD, les réponses à la FAQ peuvent être erronées, ne faudrait il pas créer une sous rubrique de la FAQ indiquant le type de la base ?

    Du style sous Oracle
    Comment obtenir l'enregistrement le plus récent(max) ou le plus vieux(min) ?

    Code :
    1
    2
    3
    4
    5
    6
     
    select *
    from latable
    where date_enregistrement in
    (select max(date_enregistrement)
              from latable)
    Alors que sous Mysql n'acceptant pas les sous-requêtes, ca ne fonctionne plus.
    voir les différences entre les bases :
    http://sqlpro.developpez.com/cours/sqlaz/fonctions/
    La faiblesse humaine est d'avoir des curiosités d'apprendre ce qu'on ne voudrait pas savoir

  13. #13
    Expert Confirmé
    Avatar de trotters213
    Profil pro
    Inscrit en
    janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 29
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : janvier 2005
    Messages : 2 571
    Points : 3 114
    Points
    3 114

    Par défaut

    tout le monde
    Iper : MySQL accepte les sous-requêtes (à partir de la version 4.1) et en plus il existe déjà une FAQ.
    Si tu veux poster un truc qui revient souvent mais sur un SGBD particulier, donne le nom du SGBD, et si un jour ça devient gros comme FAQ, ils la scinderont surement (ça c'est des suggestions parce que déjà qu'on a que 8 Q/R pour tous les SGBD sauf MySQL et Acces, si en plus ils les découpent par SGBD )

  14. #14
    Rédacteur


    Avatar de Maxence HUBICHE
    Homme Profil pro Maxence HUBICHE
    Développeur SQLServer/Access
    Inscrit en
    juin 2002
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Nom : Homme Maxence HUBICHE
    Âge : 45
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : juin 2002
    Messages : 3 841
    Points : 9 058
    Points
    9 058

    Par défaut

    Oui, tout à fait !
    à l'heure actuelle, j'ai fait plusieurs entrées.
    Vous me direz ce que vous en pensez dès que je vous donnerai le lien.
    Mais il y a une entrée par type de serveur, pour les questions spécifiques.
    Maintenant, C'est clair que, si la FAQ appropriée existe déjà, il convient de l'envoyer dans le forum concerné.

    Par exemple, ci-dessus, nous avons une question typique SQLServer.
    Je l'ai mise dans l'entrée concernée

  15. #15
    Rédacteur


    Avatar de Maxence HUBICHE
    Homme Profil pro Maxence HUBICHE
    Développeur SQLServer/Access
    Inscrit en
    juin 2002
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Nom : Homme Maxence HUBICHE
    Âge : 45
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : juin 2002
    Messages : 3 841
    Points : 9 058
    Points
    9 058

    Par défaut

    alors ...
    ca vous plait ?

    http://mhubiche.developpez.com/faqsql_tmp/

  16. #16
    Modérateur
    Avatar de al1_24
    Homme Profil pro Alain
    Ingénieur d'études décisionnel
    Inscrit en
    mai 2002
    Messages
    5 670
    Détails du profil
    Informations personnelles :
    Nom : Homme Alain
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'études décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : mai 2002
    Messages : 5 670
    Points : 14 583
    Points
    14 583

    Par défaut

    L'opérateur CASE

    Il y a deux syntaxes pour l'opérateur CASE :
    Syntaxe 1 :
    Code :
    1
    2
    3
    4
    5
    6
    case
    	when	EXPRESSION_LOGIQUE_1	then	RETOUR_1
    	when	EXPRESSION_LOGIQUE_2	then	RETOUR_2
    	...
    	else	DEFAUT
    end
    Chaque expression logique est évaluée. La valeur de retour correspondant à la première expression vérifiée est retournée.
    Si aucune expression logique n'est vérifiée, la valeur par DEFAUT est retournée.

    Exemple :
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    select	ANNEE
    	,	case
    			when	ANNEE > 2004	then 4
    			when	ANNEE between 2001 and 2003	then 3
    			when	ANNEE = 2002	then 2
    			when	ANNEE <= 2001	then 1
    			else	0
    		end	as	PERIODE
    from	...
    retourne
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    	ANNEE	PERIODE	
    	2000	0
    	2001	3
    	2002	3
    	2003	3
    	2004	0
    	2005	4
    	Null	0
    Syntaxe 2 :
    Code :
    1
    2
    3
    4
    5
    6
    case	VARIABLE
    	when	VALTEST_1	then RETOUR_1
    	when	VALTEST_2	then RETOUR_2
    	...
    	else	DEFAUT
    end
    La valeur de VARIABLE est comparée aux VALEURs pour déterminer la valeur de RETOUR de l'opérateur CASE.
    Si aucune valeur de TEST ne correspond à la valeur de VARIABLE, la valeur par DEFAUT est retournée.

    Cette construction est équivalente à
    Code :
    1
    2
    3
    4
    5
    6
    case	VARIABLE
    	when	VARIABLE = VALTEST_1	then RETOUR_1
    	when	VARIABLE = VALTEST_2	then RETOUR_2
    	...
    	else	DEFAUT
    end
    Exemple : Totalisation des ventes par types de produits vendus
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    select	ANNEE
    	,	sum(case PRODUIT when 'A' then PRIX else 0 end) as TYPE_A
    	,	sum(case PRODUIT when 'B' then PRIX else 0 end) as TYPE_B
    	,	sum(case PRODUIT when 'C' then PRIX else 0 end) as TYPE_C
    	,	sum(case when PRODUIT in ('A', 'B', 'C') then 0 else PRIX end) as AUTRE
    	,	sum(PRIX) as TOTAL
    from ...	
    group by	ANNEE
    N.B. : si la clause ELSE n'est pas précisée, CASE retourne NULL en tant que valeur par défaut.
    N.B. : la construction (case VARIABLE when NULL then XXX else YYYY end) retournera toujours YYY, le test VARIABLE = NULL étant toujours faux même si VARIABLE is null...

  17. #17
    Modérateur
    Avatar de al1_24
    Homme Profil pro Alain
    Ingénieur d'études décisionnel
    Inscrit en
    mai 2002
    Messages
    5 670
    Détails du profil
    Informations personnelles :
    Nom : Homme Alain
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'études décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : mai 2002
    Messages : 5 670
    Points : 14 583
    Points
    14 583

    Par défaut

    Les extensions de CASE : NULLIF et COALESCE

    L'opérateur CASE et les fonctions NULLIF et COALESCE ont été validées dans le standard ANSI SQL-99

    La fonction NULLIF retourne NULL si l'expression testée est égale à la valeur comparée :
    Code :
    nullif(EXPRESSION, VALEUR)
    est équivalent à
    Code :
    1
    2
    3
    4
    case	EXPRESSION
    		when	VALEUR	then Null
    		else	EXPRESSION
    end
    La fonction COALESCE retourne la valeur par défaut si l'expression testée est nulle
    Code :
    coalesce(EXPRESSION, VALEUR)
    est équivalent à
    Code :
    1
    2
    3
    4
    case
    		when EXPRESSION is null	then	VALEUR
    		else EXPRESSION
    end
    Exemple :
    Code :
    select	VALEUR,	nullif(VALEUR, 0) as V1, coalesce(VALEUR, -1) as V2
    retourne
    Code :
    1
    2
    3
    4
    5
    VALEUR	V1	V2
    	-1	-1	-1
    Null	Null	-1
    	0	Null	0
    	1	1		1

  18. #18
    Expert Confirmé
    Avatar de trotters213
    Profil pro
    Inscrit en
    janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 29
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : janvier 2005
    Messages : 2 571
    Points : 3 114
    Points
    3 114

    Par défaut

    Il me semble qu'il est préférable d'utiliser l'UNION plutôt que le CASE.
    Par exemple au lieu de mettre ça :
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    select   ANNEE
       ,   case
             when   ANNEE > 2004   then 4
             when   ANNEE between 2001 and 2003   then 3
             when   ANNEE = 2002   then 2
             when   ANNEE <= 2001   then 1
             else   0
          end   as   PERIODE
    from   ...
    il vaut mieux mettre ça :
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    SELECT ANNEE, 4 AS PERIODE
    FROM ...
    WHERE ANNEE>2004
     
    UNION
     
    SELECT ANNEE, 3 AS PERIODE
    FROM ...
    WHERE ANNEE BETWEEN 2001 AND 2003
     
    UNION
     
    ...
    En attendant la confirmation du boss...

  19. #19
    Membre habitué
    Homme Profil pro Sylvain Gourvil
    Directeur technique
    Inscrit en
    mars 2005
    Messages
    251
    Détails du profil
    Informations personnelles :
    Nom : Homme Sylvain Gourvil
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : mars 2005
    Messages : 251
    Points : 148
    Points
    148

    Par défaut

    Citation Envoyé par Maxence HUBICHE
    Citation Envoyé par Tchinkatchuk
    Q Comment supprimer des n-uplets en cascade ?
    R Juste lister les différentes possibilités afin d'aider à la recherche
    1. ON DELETE ...
    2. Batch de nuit
    3. Procedures stockées
    ...

    C'est un probleme que je me posais et c'est pas facile de trouver toutes les différents façons quand on y connait rien !
    Mais je comprendrais que ca ne soit pas approprié
    je n'ai pas très bien compris la solution que tu apportes à la question.
    tu pourrais reformuler s'il te plait ?
    Ce n'est pas franchement une solution mais une liste non exhaustive des possibilités pour une suppression de n-uplets liés dans la base.
    Par exemple, un produit doit être supprimé d'une table ainsi que toutes ces caractéristiques contenues dans d'autres tables.
    Du coup, on peut lister les différentes solutions possibles dans le FAQ ( ON DELETE, Procedures Stockees, Triggers, batchs, etc. )

    J'ai conscience que ce ne doit peut etre pas etre dans le FAQ. Un artcile dédié serait le mieux.

    En esperant que je sois clair mais je ne suis pas sur du tout lol

  20. #20
    Rédacteur


    Avatar de Maxence HUBICHE
    Homme Profil pro Maxence HUBICHE
    Développeur SQLServer/Access
    Inscrit en
    juin 2002
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Nom : Homme Maxence HUBICHE
    Âge : 45
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : juin 2002
    Messages : 3 841
    Points : 9 058
    Points
    9 058

    Par défaut

    Citation Envoyé par Tchinkatchuk
    J'ai conscience que ce ne doit peut etre pas etre dans le FAQ. Un artcile dédié serait le mieux.

    En esperant que je sois clair mais je ne suis pas sur du tout lol
    Je partage ton avis !
    Tu te sens à te lancer dedans ?

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •