les vues et leur stockage [SQL 7] - Programmation
Marsh Posté le 30-01-2001 à 14:37:45
Alors....
Pour moi, une vue est quelque chose de "fixe" dans le sens où elle est permanente, même si son état évolue avec celui des tables dont elle est issue.
Lorsque tu lanceras l'instruction, tu ouvriras dorcément une session SQL... et donc la vue sera stockée sur le serveur.
Je dirais donc que les vues devraient être dans une section spéciale du script de création d'une base.
Sinon, quelle utilisation veux-tu faire de cette vue?
Je me limite toujours à la création de tables tempo à partir de la partie cliente (quand aucune autre méthode n'est utilisable).
En espérant t'avoir été utile.
Marsh Posté le 30-01-2001 à 14:42:24
en fait les tables existent déjà sur le serveur
je veux juste créer une vue
je peux le faire sous SQL Serveur Entreprise Manager ou sous VB
dans le 1er cas, ce sera enregistré sur le serveur, dans le deuxième cas, ai-je le choix de sélectionner le PC ( local ) ou le serveur ?
Marsh Posté le 30-01-2001 à 14:45:05
Pour créer ta vue tu executera une requête SQL du type CREATE VIEW (même si Enterprise Manager masque cela pour toi). En conséquence dans les deux cas la vue sera créée dans SQL Server. Les informations de définition de ta vue sont stockées dans les tables systèmes sysobjects et syscomments d'après la doc SQL7.
Marsh Posté le 30-01-2001 à 14:49:35
La vue sera toujours enregistrée sur le serveur... C'est le but d'une vue, comme il a été dit dans un autre topic : avoir une "image" reflétant un certain état de ta base qui soit toujours exacte.
Par exemple, dans l'appli sur laquelle je bosse, on utilise une vue pour un select sur 16 tables (le maximum possible sous Sybase 11. L'enfer pour feinter le moteur de la base). Si on devait faire ce select à chaque fois...
...Bon, si mes présomptions sont bonnes, SQL Server fonctionne comme Sybase.
Si tu veux vérifier par toi-même, tu peux toujours faire un select * from sysobjects où tu verras apparaître le nom de la vue, quel que soit l'endroit d'où tu l'aies créée.
Marsh Posté le 30-01-2001 à 14:49:44
ok, donc si je fais ma vue en VB, sa création passera quand même par le 'moteur' SQL Serveur comme si j'utilisais SQL Manager
Donc son stockage se fera sur le serveur,ss
c'est cela ?
Marsh Posté le 30-01-2001 à 14:53:32
Wouala.
Toutes les transactions que tu fais depuis la partie cliente (VB) passent FORCEMENT par le moteur SQL Server.
Marsh Posté le 30-01-2001 à 14:54:00
oui, ok
je vais essayer tout cela
mais c'est de plus en clair
je vous en remercie tous
@+
--Message édité par Hepil--
Marsh Posté le 30-01-2001 à 19:00:01
Je confirme ...
Vois la création d'une vue comme la création d'une ressource, d'un objet, destiné a être utilisée par d'autres (procédures stockées, autres vues, triggers ...) elle ne peut peu conséquent se situer qu'au niveau du serveur
Marsh Posté le 30-01-2001 à 10:54:10
si je crée une vue sous VB,ss
1 - puis-je la stocker sur le serveur de SQL serveur 7 ?
2 - Ou sera t-elle forcément, dans ce cas, stockée en local ?
3 - Est-il préférable de créer les vues sur SQL serveur 7 plutôt que sous VB ?
merci