Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server > Développement
Développement Forum d'entraide sur le Transact-SQL, le CLR, les procédures stockées, les triggers, les requêtes SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/09/2011, 18h08   #1
Nouveau Membre du Club
 
Femme Turquoise Rose
Inscription : mai 2008
Messages : 122
Détails du profil
Informations personnelles :
Nom : Femme Turquoise Rose

Informations professionnelles :
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2008
Messages : 122
Points : 25
Points : 25
Par défaut Impossible de mettre à jour une base copier

Bonjour tout le monde,

J’ai une base de données BD1, je l'ai copié et renommée BD2.
Et lorsque j'essaye d'effectuer des mises à jour avec des requête sur la base BD2 j'obtiens cette erreur :

The attempted insert or update failed because the target view either specifies WITH CHECK OPTION or spans a view that specifies WITH CHECK OPTION and one or more rows resulting from the operation did not qualify under the CHECK OPTION constraint. The statement has been terminated.

je travaille sur SQL Server 2008.

Merci d'avance.
eemii est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2011, 21h04   #2
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 958
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 958
Points : 17 789
Points : 17 789
Vous tentez de faire des insertion dans une vue et non une table qui possède un filtre WHERE et a été créée avec la restriction CHECK OPTION.
Soit vus qualifiez vos données par rapport à la restriction, soit vous utilisez directement une table.

A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/10/2011, 09h36   #3
Nouveau Membre du Club
 
Femme Turquoise Rose
Inscription : mai 2008
Messages : 122
Détails du profil
Informations personnelles :
Nom : Femme Turquoise Rose

Informations professionnelles :
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2008
Messages : 122
Points : 25
Points : 25
Bonjour, merci pour votre réponse SQLpro.

je n'utilise plus dans ma base de données des vues qui possèdent un filtre WHERE avec la restriction CHECK OPTION. J’ai uniquement des procédures stockées, des fonctions et des tables, et j'insère directement dans les tables, en plus je n'ai, pas utilisé du tout le mot clé "CHECK OPTION"

Merci d'avance
eemii est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/10/2011, 17h48   #4
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 958
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 958
Points : 17 789
Points : 17 789
Vous vous trompez certainement, car cette erreur n'est liée qu'a cela.
Peut être avez vous des déclencheurs qui font que votre mise à jour est répercutée sur une vue.

Pour en avoir le cœur net, il suffit de lire les métadonnées de votre base ou bien de tracer l’activité SQL.

Exemple - voir les vues créées avec CHECK OPTION :
Code :
1
2
3
SELECT * 
FROM   INFORMATION_SCHEMA.VIEWS
WHERE  CHECK_OPTION = 'CASCADE'
Voir les déclencheurs :
Code :
1
2
3
4
5
6
7
SELECT s.name AS TABLE_SCHEMA, o.name AS TABLE_NAME, 
       e.type_desc, e.create_date, e.modify_date
FROM   sys.triggers AS e
       INNER JOIN sys.objects AS o
             ON e.parent_id = o.object_id
       INNER JOIN sys.schemas AS s
             ON o.schema_id = s.schema_id
A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h58.


 
 
 
 
Partenaires

Hébergement Web