[SQL 7] les vues et leur stockage

les vues et leur stockage [SQL 7] - Programmation

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

Reply

Marsh Posté le 30-01-2001 à 10:54:10   

Reply

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.

Reply

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 ?

Reply

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.

Reply

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.

Reply

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 ?

Reply

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.

Reply

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--

Reply

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

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed