existe-t-il l'équivalent de sp_recompile pour les vues ?
Merci J-Pierre
J-Pierre
Bonjour,
Je ne crois pas que ce soit ça, en fait, j'aimerais recompiler toutes les vues référencant une table... comme le fait sp_recompile pour les procédures stockées et les déclencheurs.
J-Pierre
"bruno reiter [MVP]" a écrit dans le message de news:
sp_refreshview
br
"J-Pierre" wrote in message news: > Bonjour, > > existe-t-il l'équivalent de sp_recompile pour les vues ? > > Merci > J-Pierre > >
Bonjour,
Je ne crois pas que ce soit ça, en fait, j'aimerais recompiler toutes les vues référencant une table... comme le fait sp_recompile
pour les procédures stockées et les déclencheurs.
J-Pierre
"bruno reiter [MVP]" <remove.this.br33@bol.com.br> a écrit dans le message de news:eqn3ykVnDHA.2488@TK2MSFTNGP12.phx.gbl...
sp_refreshview
br
"J-Pierre" <pas.de.pub.jpberchtold@hotmail.com> wrote in message
news:uultJ7UnDHA.1488@TK2MSFTNGP12.phx.gbl...
> Bonjour,
>
> existe-t-il l'équivalent de sp_recompile pour les vues ?
>
> Merci
> J-Pierre
>
>
Je ne crois pas que ce soit ça, en fait, j'aimerais recompiler toutes les vues référencant une table... comme le fait sp_recompile pour les procédures stockées et les déclencheurs.
J-Pierre
"bruno reiter [MVP]" a écrit dans le message de news:
sp_refreshview
br
"J-Pierre" wrote in message news: > Bonjour, > > existe-t-il l'équivalent de sp_recompile pour les vues ? > > Merci > J-Pierre > >
Michel Walsh
Salut,
Une vue n'est-elle pas que du code qui est "inséré" tel quel là où c'est requis et la "compilation" s'effectue après l'insertion, dans le contexte global requérant l'insertion du bout de code provenant de la vue? J'admets que 2000, avec ses vues indexables, a pu changer quelque chose à cette notion de base, peut-être un peu trop simpliste, mais je ne me rapelle pas d'avoir vu quelque chose à ce sujet.
Vanderghast, Access MVP
"J-Pierre" wrote in message news:
Bonjour,
existe-t-il l'équivalent de sp_recompile pour les vues ?
Merci J-Pierre
Salut,
Une vue n'est-elle pas que du code qui est "inséré" tel quel là où c'est
requis et la "compilation" s'effectue après l'insertion, dans le contexte
global requérant l'insertion du bout de code provenant de la vue? J'admets
que 2000, avec ses vues indexables, a pu changer quelque chose à cette
notion de base, peut-être un peu trop simpliste, mais je ne me rapelle pas
d'avoir vu quelque chose à ce sujet.
Vanderghast, Access MVP
"J-Pierre" <pas.de.pub.jpberchtold@hotmail.com> wrote in message
news:uultJ7UnDHA.1488@TK2MSFTNGP12.phx.gbl...
Bonjour,
existe-t-il l'équivalent de sp_recompile pour les vues ?
Une vue n'est-elle pas que du code qui est "inséré" tel quel là où c'est requis et la "compilation" s'effectue après l'insertion, dans le contexte global requérant l'insertion du bout de code provenant de la vue? J'admets que 2000, avec ses vues indexables, a pu changer quelque chose à cette notion de base, peut-être un peu trop simpliste, mais je ne me rapelle pas d'avoir vu quelque chose à ce sujet.
Vanderghast, Access MVP
"J-Pierre" wrote in message news:
Bonjour,
existe-t-il l'équivalent de sp_recompile pour les vues ?
Merci J-Pierre
J-Pierre
Bonjour Michel,
Je croyais savoir ce qu'était une vue, mais après t'avoir lu, je retourne à mes legos, mon tas de sable, ma pelle et mon rateau.
Mais avant, j'explique.....
Si je rajoute des colonnes dans une table (ou en supprime), parfois (souvent ?), les vues qui utilisent ces tables ne retournent plus les infos correctes (colonnes décalées ou inversées). Il faut éditer les vues(pas des indexables), les modifier et les réenregistrer.
Bon, peut-être aussi que je dis des conneries....
J-Pierre
"Michel Walsh" a écrit dans le message de news:u$
Salut,
Une vue n'est-elle pas que du code qui est "inséré" tel quel là où c'est requis et la "compilation" s'effectue après l'insertion, dans le contexte global requérant l'insertion du bout de code provenant de la vue? J'admets que 2000, avec ses vues indexables, a pu changer quelque chose à cette notion de base, peut-être un peu trop simpliste, mais je ne me rapelle pas d'avoir vu quelque chose à ce sujet.
Vanderghast, Access MVP
"J-Pierre" wrote in message news: > Bonjour, > > existe-t-il l'équivalent de sp_recompile pour les vues ? > > Merci > J-Pierre > >
Bonjour Michel,
Je croyais savoir ce qu'était une vue, mais après t'avoir lu, je retourne à mes legos, mon tas de sable, ma pelle et mon rateau.
Mais avant, j'explique.....
Si je rajoute des colonnes dans une table (ou en supprime), parfois (souvent ?), les vues qui utilisent ces tables ne retournent
plus les infos correctes (colonnes décalées ou inversées).
Il faut éditer les vues(pas des indexables), les modifier et les réenregistrer.
Bon, peut-être aussi que je dis des conneries....
J-Pierre
"Michel Walsh" <vanderghast@VirusAreFunnierThanSpam> a écrit dans le message de news:u$a5gJWnDHA.2068@TK2MSFTNGP09.phx.gbl...
Salut,
Une vue n'est-elle pas que du code qui est "inséré" tel quel là où c'est
requis et la "compilation" s'effectue après l'insertion, dans le contexte
global requérant l'insertion du bout de code provenant de la vue? J'admets
que 2000, avec ses vues indexables, a pu changer quelque chose à cette
notion de base, peut-être un peu trop simpliste, mais je ne me rapelle pas
d'avoir vu quelque chose à ce sujet.
Vanderghast, Access MVP
"J-Pierre" <pas.de.pub.jpberchtold@hotmail.com> wrote in message
news:uultJ7UnDHA.1488@TK2MSFTNGP12.phx.gbl...
> Bonjour,
>
> existe-t-il l'équivalent de sp_recompile pour les vues ?
>
> Merci
> J-Pierre
>
>
Je croyais savoir ce qu'était une vue, mais après t'avoir lu, je retourne à mes legos, mon tas de sable, ma pelle et mon rateau.
Mais avant, j'explique.....
Si je rajoute des colonnes dans une table (ou en supprime), parfois (souvent ?), les vues qui utilisent ces tables ne retournent plus les infos correctes (colonnes décalées ou inversées). Il faut éditer les vues(pas des indexables), les modifier et les réenregistrer.
Bon, peut-être aussi que je dis des conneries....
J-Pierre
"Michel Walsh" a écrit dans le message de news:u$
Salut,
Une vue n'est-elle pas que du code qui est "inséré" tel quel là où c'est requis et la "compilation" s'effectue après l'insertion, dans le contexte global requérant l'insertion du bout de code provenant de la vue? J'admets que 2000, avec ses vues indexables, a pu changer quelque chose à cette notion de base, peut-être un peu trop simpliste, mais je ne me rapelle pas d'avoir vu quelque chose à ce sujet.
Vanderghast, Access MVP
"J-Pierre" wrote in message news: > Bonjour, > > existe-t-il l'équivalent de sp_recompile pour les vues ? > > Merci > J-Pierre > >
Michel Walsh
Salut,
Quelque chose comme cela, mais légèrement différent, du moins, de mémoire: si on altère une vue en modifiant l'ordre des colonnes, c'est les permissions individuellement assignées aux colonnes qui jouent un jeu de chaise musicale (Delaney, dans "Inside MS SQL Server 2000", dernier paragraphe de la page 361 (première édition) ).
Il me semble que si une requête est basée sur une vue, que la requête soit exécutée (donc compilée) et que la vue soit par la suite altérée, MS SQL Server reportera une erreur, si on utilise les champs nommés:
============ USE Pubs GO CREATE VIEW toto As SELECT au_fname, phone FROM authors GO CREATE PROC useToto AS SELECT au_fname FROM toto GO EXEC useToto -- compile la sp comme side effect GO ALTER VIEW toto AS SELECT au_lname, phone FROM authors GO EXEC useToto GO DROP PROC useToto DROP VIEW toto ============ (23 row(s) affected)
Server: Msg 207, Level 16, State 3, Procedure useToto, Line 1 Invalid column name 'au_fname'. ============
Si j'utilise
ALTER VIEW toto AS SELECT au_lname, au_fname, phone FROM authors GO EXEC useToto
qui insère une colonne, au_fname est toujours correctement retourné.
Il y a un scénario (étape par étape), basé sur Pubs, où modifiant une vue (enlevant/insérant une colonne) retournera les mauvaises informations sans annoncer d'erreurs?
Espérant être utile, Vanderghast, Access MVP
"J-Pierre" wrote in message news:
Bonjour Michel,
Je croyais savoir ce qu'était une vue, mais après t'avoir lu, je retourne
à mes legos, mon tas de sable, ma pelle et mon rateau.
Mais avant, j'explique.....
Si je rajoute des colonnes dans une table (ou en supprime), parfois
(souvent ?), les vues qui utilisent ces tables ne retournent
plus les infos correctes (colonnes décalées ou inversées). Il faut éditer les vues(pas des indexables), les modifier et les
réenregistrer.
Bon, peut-être aussi que je dis des conneries....
J-Pierre
"Michel Walsh" a écrit dans le
message de news:u$
> Salut, > > > Une vue n'est-elle pas que du code qui est "inséré" tel quel là où
c'est
> requis et la "compilation" s'effectue après l'insertion, dans le
contexte
> global requérant l'insertion du bout de code provenant de la vue?
J'admets
> que 2000, avec ses vues indexables, a pu changer quelque chose à cette > notion de base, peut-être un peu trop simpliste, mais je ne me rapelle
pas
> d'avoir vu quelque chose à ce sujet. > > > Vanderghast, Access MVP > > > "J-Pierre" wrote in message > news: > > Bonjour, > > > > existe-t-il l'équivalent de sp_recompile pour les vues ? > > > > Merci > > J-Pierre > > > > > >
Salut,
Quelque chose comme cela, mais légèrement différent, du moins, de
mémoire: si on altère une vue en modifiant l'ordre des colonnes, c'est les
permissions individuellement assignées aux colonnes qui jouent un jeu de
chaise musicale (Delaney, dans "Inside MS SQL Server 2000", dernier
paragraphe de la page 361 (première édition) ).
Il me semble que si une requête est basée sur une vue, que la requête soit
exécutée (donc compilée) et que la vue soit par la suite altérée, MS SQL
Server reportera une erreur, si on utilise les champs nommés:
============ USE Pubs
GO
CREATE VIEW toto As SELECT au_fname, phone FROM authors
GO
CREATE PROC useToto AS SELECT au_fname FROM toto
GO
EXEC useToto -- compile la sp comme side effect
GO
ALTER VIEW toto AS SELECT au_lname, phone FROM authors
GO
EXEC useToto
GO
DROP PROC useToto
DROP VIEW toto
============ (23 row(s) affected)
Server: Msg 207, Level 16, State 3, Procedure useToto, Line 1
Invalid column name 'au_fname'.
============
Si j'utilise
ALTER VIEW toto AS SELECT au_lname, au_fname, phone FROM authors
GO
EXEC useToto
qui insère une colonne, au_fname est toujours correctement retourné.
Il y a un scénario (étape par étape), basé sur Pubs, où modifiant une
vue (enlevant/insérant une colonne) retournera les mauvaises informations
sans annoncer d'erreurs?
Espérant être utile,
Vanderghast, Access MVP
"J-Pierre" <pas.de.pub.jpberchtold@hotmail.com> wrote in message
news:uDh1PSWnDHA.2160@TK2MSFTNGP10.phx.gbl...
Bonjour Michel,
Je croyais savoir ce qu'était une vue, mais après t'avoir lu, je retourne
à mes legos, mon tas de sable, ma pelle et mon rateau.
Mais avant, j'explique.....
Si je rajoute des colonnes dans une table (ou en supprime), parfois
(souvent ?), les vues qui utilisent ces tables ne retournent
plus les infos correctes (colonnes décalées ou inversées).
Il faut éditer les vues(pas des indexables), les modifier et les
réenregistrer.
Bon, peut-être aussi que je dis des conneries....
J-Pierre
"Michel Walsh" <vanderghast@VirusAreFunnierThanSpam> a écrit dans le
message de news:u$a5gJWnDHA.2068@TK2MSFTNGP09.phx.gbl...
> Salut,
>
>
> Une vue n'est-elle pas que du code qui est "inséré" tel quel là où
c'est
> requis et la "compilation" s'effectue après l'insertion, dans le
contexte
> global requérant l'insertion du bout de code provenant de la vue?
J'admets
> que 2000, avec ses vues indexables, a pu changer quelque chose à cette
> notion de base, peut-être un peu trop simpliste, mais je ne me rapelle
pas
> d'avoir vu quelque chose à ce sujet.
>
>
> Vanderghast, Access MVP
>
>
> "J-Pierre" <pas.de.pub.jpberchtold@hotmail.com> wrote in message
> news:uultJ7UnDHA.1488@TK2MSFTNGP12.phx.gbl...
> > Bonjour,
> >
> > existe-t-il l'équivalent de sp_recompile pour les vues ?
> >
> > Merci
> > J-Pierre
> >
> >
>
>
Quelque chose comme cela, mais légèrement différent, du moins, de mémoire: si on altère une vue en modifiant l'ordre des colonnes, c'est les permissions individuellement assignées aux colonnes qui jouent un jeu de chaise musicale (Delaney, dans "Inside MS SQL Server 2000", dernier paragraphe de la page 361 (première édition) ).
Il me semble que si une requête est basée sur une vue, que la requête soit exécutée (donc compilée) et que la vue soit par la suite altérée, MS SQL Server reportera une erreur, si on utilise les champs nommés:
============ USE Pubs GO CREATE VIEW toto As SELECT au_fname, phone FROM authors GO CREATE PROC useToto AS SELECT au_fname FROM toto GO EXEC useToto -- compile la sp comme side effect GO ALTER VIEW toto AS SELECT au_lname, phone FROM authors GO EXEC useToto GO DROP PROC useToto DROP VIEW toto ============ (23 row(s) affected)
Server: Msg 207, Level 16, State 3, Procedure useToto, Line 1 Invalid column name 'au_fname'. ============
Si j'utilise
ALTER VIEW toto AS SELECT au_lname, au_fname, phone FROM authors GO EXEC useToto
qui insère une colonne, au_fname est toujours correctement retourné.
Il y a un scénario (étape par étape), basé sur Pubs, où modifiant une vue (enlevant/insérant une colonne) retournera les mauvaises informations sans annoncer d'erreurs?
Espérant être utile, Vanderghast, Access MVP
"J-Pierre" wrote in message news:
Bonjour Michel,
Je croyais savoir ce qu'était une vue, mais après t'avoir lu, je retourne
à mes legos, mon tas de sable, ma pelle et mon rateau.
Mais avant, j'explique.....
Si je rajoute des colonnes dans une table (ou en supprime), parfois
(souvent ?), les vues qui utilisent ces tables ne retournent
plus les infos correctes (colonnes décalées ou inversées). Il faut éditer les vues(pas des indexables), les modifier et les
réenregistrer.
Bon, peut-être aussi que je dis des conneries....
J-Pierre
"Michel Walsh" a écrit dans le
message de news:u$
> Salut, > > > Une vue n'est-elle pas que du code qui est "inséré" tel quel là où
c'est
> requis et la "compilation" s'effectue après l'insertion, dans le
contexte
> global requérant l'insertion du bout de code provenant de la vue?
J'admets
> que 2000, avec ses vues indexables, a pu changer quelque chose à cette > notion de base, peut-être un peu trop simpliste, mais je ne me rapelle
pas
> d'avoir vu quelque chose à ce sujet. > > > Vanderghast, Access MVP > > > "J-Pierre" wrote in message > news: > > Bonjour, > > > > existe-t-il l'équivalent de sp_recompile pour les vues ? > > > > Merci > > J-Pierre > > > > > >
J-Pierre
Michel,
On s'éloigne de mon problème, il ne s'agit pas d'altérer des vues, ni de baser une requête sur une vue, mais de recompiler des vues lorsque une table a été modifiée, comme on peut le faire pour les procédures stockées et les triggers avec:
sp_recompile nomDeMaTable
J-Pierre
Michel,
On s'éloigne de mon problème, il ne s'agit pas d'altérer des vues, ni de baser une requête sur une vue, mais de recompiler des vues
lorsque une table a été modifiée, comme on peut le faire pour les procédures stockées et les triggers avec:
On s'éloigne de mon problème, il ne s'agit pas d'altérer des vues, ni de baser une requête sur une vue, mais de recompiler des vues lorsque une table a été modifiée, comme on peut le faire pour les procédures stockées et les triggers avec:
sp_recompile nomDeMaTable
J-Pierre
bruno reiter [MVP]
pour résumer, on ne recompile pas une vue puisqu'elle n'est pas compilée, on la rafraichit, ce qui n'est utile que quand on utilise * .... ce qui est déconseillé! ensuite tu peux faire une procédure qui utilise sp_refreshview pour toutes les vues utilisant une table donnée
br
"J-Pierre" wrote in message news:
Michel,
On s'éloigne de mon problème, il ne s'agit pas d'altérer des vues, ni de baser
une requête sur une vue, mais de recompiler des vues
lorsque une table a été modifiée, comme on peut le faire pour les procédures
stockées et les triggers avec:
sp_recompile nomDeMaTable
J-Pierre
pour résumer, on ne recompile pas une vue puisqu'elle n'est pas compilée, on la
rafraichit, ce qui n'est utile que quand on utilise * .... ce qui est
déconseillé!
ensuite tu peux faire une procédure qui utilise sp_refreshview pour toutes les
vues utilisant une table donnée
br
"J-Pierre" <pas.de.pub.jpberchtold@hotmail.com> wrote in message
news:OIPGFvYnDHA.2216@TK2MSFTNGP12.phx.gbl...
Michel,
On s'éloigne de mon problème, il ne s'agit pas d'altérer des vues, ni de baser
une requête sur une vue, mais de recompiler des vues
lorsque une table a été modifiée, comme on peut le faire pour les procédures
pour résumer, on ne recompile pas une vue puisqu'elle n'est pas compilée, on la rafraichit, ce qui n'est utile que quand on utilise * .... ce qui est déconseillé! ensuite tu peux faire une procédure qui utilise sp_refreshview pour toutes les vues utilisant une table donnée
br
"J-Pierre" wrote in message news:
Michel,
On s'éloigne de mon problème, il ne s'agit pas d'altérer des vues, ni de baser
une requête sur une vue, mais de recompiler des vues
lorsque une table a été modifiée, comme on peut le faire pour les procédures
stockées et les triggers avec:
sp_recompile nomDeMaTable
J-Pierre
J-Pierre
Si j'ai bien compris, je dois donc vérifier toutes mes vues pour enlever nomdDeTable.* et le remplacer par le nom des colonnes réellement utiles, et je n'aurai plus besoin de les rafraichir quand je modifie mes tables, et ce sera plus performant....
Merci beaucoup :-)))) J-Pierre
"bruno reiter [MVP]" a écrit dans le message de news:
pour résumer, on ne recompile pas une vue puisqu'elle n'est pas compilée, on la rafraichit, ce qui n'est utile que quand on utilise * .... ce qui est déconseillé! ensuite tu peux faire une procédure qui utilise sp_refreshview pour toutes les vues utilisant une table donnée
br
Si j'ai bien compris, je dois donc vérifier toutes mes vues pour enlever nomdDeTable.* et le remplacer par le nom des colonnes
réellement utiles, et je n'aurai plus besoin de les rafraichir quand je modifie mes tables, et ce sera plus performant....
Merci beaucoup :-))))
J-Pierre
"bruno reiter [MVP]" <remove.this.br33@bol.com.br> a écrit dans le message de news:e2O85FZnDHA.2772@TK2MSFTNGP10.phx.gbl...
pour résumer, on ne recompile pas une vue puisqu'elle n'est pas compilée, on la
rafraichit, ce qui n'est utile que quand on utilise * .... ce qui est
déconseillé!
ensuite tu peux faire une procédure qui utilise sp_refreshview pour toutes les
vues utilisant une table donnée
Si j'ai bien compris, je dois donc vérifier toutes mes vues pour enlever nomdDeTable.* et le remplacer par le nom des colonnes réellement utiles, et je n'aurai plus besoin de les rafraichir quand je modifie mes tables, et ce sera plus performant....
Merci beaucoup :-)))) J-Pierre
"bruno reiter [MVP]" a écrit dans le message de news:
pour résumer, on ne recompile pas une vue puisqu'elle n'est pas compilée, on la rafraichit, ce qui n'est utile que quand on utilise * .... ce qui est déconseillé! ensuite tu peux faire une procédure qui utilise sp_refreshview pour toutes les vues utilisant une table donnée