IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

Déclencheurs et type date


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 76
    Par défaut Déclencheurs et type date
    Bonjour,
    Je suis un débutant en SQL Server et il y'a des choses que je me suis habitué à faire en Oracle et je veux leurs équivalents (que je n'ai pas trouvé) en SQL Server:
    -en SQL Server il y a le type datetime mais je veux avoir une colonne de type Date seulement?
    -S'il y a des déclencheurs de type Before çad qui s'exécutent avant le insert ou update...?
    -Quel est l'équivalent des pseudo records new et after d'oracle qui contiennent les valeurs de l'enregistrement à modifier par un trigger avant et après la modification.

    Merci pour votre aide.

  2. #2
    Membre éprouvé
    Inscrit en
    Mai 2003
    Messages
    146
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 146
    Par défaut
    Pour les triggers, il faut utilise INSTEAD OF qui te permettra d'examiner avant insertion par exemple...

    exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    CREATE TRIGGER INSTEAD_OF_MAJ_TITRES
    ON TITRES
    INSTEAD OF update
    AS
     
    IF @@rowcount = 0 RETURN
    IF UPDATE(identifiant) BEGIN
      PRINT 'la mis eà joiur de la clef est interdite'
      RETURN
    END

  3. #3
    Membre averti
    Inscrit en
    Février 2004
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 19
    Par défaut
    pour la dete seulement utilisez

    CONVERT(VARCHAR(12),getdate(),103).

    pour l'équivalant de new en oracle utilisez
    insert ou delete.
    de old delete
    pour befor sql server ne poucède pas befor mes utilisez a la plasse INSTEAD OF mes elle sevant utlisé avec les view

  4. #4
    Membre éprouvé
    Inscrit en
    Mai 2003
    Messages
    146
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 146
    Par défaut
    soucis de clavier looc?

  5. #5
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 228
    Billets dans le blog
    25
    Par défaut
    Citation Envoyé par looc 6699
    pour la dete seulement utilisez

    CONVERT(VARCHAR(12),getdate(),103).

    pour l'équivalant de new en oracle utilisez
    insert ou delete.
    de old delete
    pour befor sql server ne poucède pas befor mes utilisez a la plasse INSTEAD OF mes elle sevant utlisé avec les view
    Rectificatif : l'équivalent de NEW est à rechercher dans la table DELETED (et pas delete). A noter que MS-SQL agit sur le subset des lignes impactées plutôt que, comme Oracle, ligne à ligne
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  6. #6
    Membre averti
    Inscrit en
    Février 2004
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 19
    Par défaut
    merci facad pour la correction j'ai pas fait attention

    mais je Rectife aussi :

    l'équivalent de NEW est à rechercher dans la table INSERTED [ET PAS DELETED] et pour les valeurs supprimée ou modifiée est à rechercher dans la table DELETED C'est l'équivalent de OLD en Oracle.

  7. #7
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 228
    Billets dans le blog
    25
    Par défaut
    Correct
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

Discussions similaires

  1. Critères sur champ de type date
    Par blasco dans le forum Access
    Réponses: 2
    Dernier message: 29/10/2004, 09h48
  2. Réponses: 3
    Dernier message: 08/10/2004, 00h12
  3. BC6 inserer un enreg de type date/heure dans Access2003
    Par o_live dans le forum C++Builder
    Réponses: 2
    Dernier message: 25/06/2004, 11h13
  4. insertion d'un type date dans une table access
    Par monstour dans le forum ASP
    Réponses: 7
    Dernier message: 18/06/2004, 16h57
  5. utilisation du type DATE d'interbase
    Par dibak dans le forum InterBase
    Réponses: 4
    Dernier message: 05/01/2004, 15h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo