Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1734 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  SQLSERVER

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

SQLSERVER

n°1201164
madkane
Posté le 16-09-2005 à 15:43:55  profilanswer
 

BONJOUR
Existe un équivalent du wait en SQL SERVER ?  
MERCI

mood
Publicité
Posté le 16-09-2005 à 15:43:55  profilanswer
 

n°1201319
olivthill
Posté le 16-09-2005 à 18:26:37  profilanswer
 

Il existe WAITFOR dont la syntaxe est :

WAITFOR {DELAY 'time' | TIME 'time'}

WAITFOR peut s'utiliser dans une procédure stockée,  par exemple :

BEGIN
    WAITFOR TIME '22:20'
    EXECUTE update_all_stats
END

:)  

n°1201353
Arjuna
Aircraft Ident.: F-MBSD
Posté le 16-09-2005 à 20:14:21  profilanswer
 

Non, par contre, SQL Server gère ce qu'on appelle des Jobs, qui peuvent être schédulés à heure fixe. Normalement, on peut même les lier, de façon à ce qu'un Job ne démarre pas si un autre job ne le lui a pas demandé de le faire.
 
Dans tous les cas, dans ton exemple, un simple Job suffit.
 
PS: en plus, ton truc est dangereux : si je lance 25 fois ta PS ci-dessus, alors "update_all_stats" va s'éxécuter 25 fois en // au même moment, et là c'est la cata !

n°1201982
madkane
Posté le 18-09-2005 à 22:53:00  profilanswer
 

Merci olivthill et Arjuna,
Je vous expose mon véritable problème. J'utilise OPENROWSET (tu dois t'en souvenir Arjuna) OPENROWSET ouvre une connection avec une base de données pour pouvoir faire des requêtes à distance.
Moi, j'utilise OPENROWSET uniquement pour récupérer le résultat d'un SELECT dans une variable( sur la même base). Si quelqu'un à un autre moyen moins contraignant je suis preneur.
Le problème vient du fait que OPENROWSET ne s'exécute pas dans la séquence de code.
Je m'explique:
Je créer une table, j'insers des information dedans puis je fais un SELECT avec OPENROWSET;
 
CREATE TABLE maTable(
      nom varchar(20);
)
 
INSERT INTO maTable values('voici montext')
 
insert into maTable (nom)  
SELECT a.[XML_F52E2B61-18A1-11d1-B105-00805F49916B]
 
FROM OPENROWSET('MSDASQL',
       'DRIVER={SQL Server};SERVER=(LOCAL);UID=XXX;PWD=XXX',
       'SELECT  nom from maTable') as a
 
La commande plante car la table n'est pas renseigné ou plutôt n'existe pas encore.  
OPENROWSET s'exécute en parallèle et n'attends pas que la ligne soit insérer ou la table créée.
 
J'utilise un GO avant OPENROWSET qui arrange tout, mais j'ai besoin d'utilisé OPENROWSET dans un curseur donc pas de GO possible.
Un COMMIT ne fonctionne pas non plus, pour des raisons évidente.  
 
J'espère avoir été assez clair.  
 
Merci

n°1202745
Arjuna
Aircraft Ident.: F-MBSD
Posté le 19-09-2005 à 19:30:31  profilanswer
 

Ah, ok...
 
Si c'est un autre Server SQL Server, alors tu peux tout simplement le lier à ton serveur, puis l'appeler en utilisant son alias.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  SQLSERVER

 

Sujets relatifs
[SQLServer]Erreur OleDBCheckbox + validation du formulaire (ASP/SQLServer)
[ASP/SQLServer] Comment visualiser toutes les lignes d'une table?[SqlServer] Utilité du découpage d'une grosse table ?
Connexion avec SQLServer (ASP)Besoin d'aide pour un exposé (oracle, sqlserver, php, JS, perl et asp)
Equivalent de "mysql_insert_id" pour MS SQLserverSQLServer => delai expiré
Java application -> connection sqlserver Pbm driver dans Manifest[Java-SQLServer] Appeler une procédure stockée contenant des espaces
Plus de sujets relatifs à : SQLSERVER


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR