Précédent   Forum du club des développeurs et IT Pro > Bases de données > Sybase > Adaptive Server Enterprise
Adaptive Server Enterprise Forum d'entraide concernant Sybase Adaptive Server Enterprise, le dataserver phare de Sybase
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 24/02/2011, 11h55   #1
FHeybati
Invité de passage
 
Inscription : juin 2006
Messages : 26
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 26
Points : 4
Points : 4
Par défaut "Merge INTO" pour sybase 12.5

Bonjour,
Est ce qu'il existe un équivalent pour sybase 12.5 de "Merge into" d'Oracle?

Merci d'avance
FHeybati est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/02/2011, 15h42   #2
mpeppler
Rédacteur/Modérateur
 
Inscription : janvier 2006
Messages : 1 307
Détails du profil
Informations personnelles :
Âge : 53

Informations forums :
Inscription : janvier 2006
Messages : 1 307
Points : 1 643
Points : 1 643
Envoyer un message via AIM à mpeppler
Je ne connais pas vraiment cette commande, ce qui me fait dire qu'elle ne doit pas exister sous ASE...

Mais cela doit pouvoir se formuler autrement - quel est le résultat voulu?

Michael
__________________
Michael Peppler
Membre de TeamSybase - www.teamsybase.com

"A successful [software] tool is one that was used to do something undreamed of by its author." -- S. C. Johnson
mpeppler est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/02/2011, 16h58   #3
FHeybati
Invité de passage
 
Inscription : juin 2006
Messages : 26
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 26
Points : 4
Points : 4
Voici un exemple avec "sql anywhere"(?) de sybase:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
MERGE INTO Products ( ID, Name, Description, Size, Color, Quantity, UnitPrice, Photo ) 
   USING WITH AUTO NAME ( 
      SELECT 304 AS ID, 
             'Purple' AS Color, 
             100 AS Quantity, 
             Name, 
             Description, 
             Size, 
             UnitPrice, 
             Photo 
          FROM Products WHERE Products.ID = 300 ) AS DT
   ON PRIMARY KEY
   WHEN NOT MATCHED THEN INSERT;
L'objectif est d'éviter de coder en ouvrant un curseur et traiter ligne à ligne.
FHeybati est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/02/2011, 08h40   #4
mpeppler
Rédacteur/Modérateur
 
Inscription : janvier 2006
Messages : 1 307
Détails du profil
Informations personnelles :
Âge : 53

Informations forums :
Inscription : janvier 2006
Messages : 1 307
Points : 1 643
Points : 1 643
Envoyer un message via AIM à mpeppler
Il n'y a pas d'équivalent sous ASE.

Mais on peut le faire sans curseur, qqch du genre

Code :
1
2
3
4
5
6
7
8
9
10
11
 
UPDATE products
SET ....
FROM products p
JOIN t1
ON t1.id = p.id
 
INSERT products ...
SELECT ...
FROM t1
WHERE NOT EXISTS (SELECT ... FROM products p WHERE p.id = t1.id)
Michael
__________________
Michael Peppler
Membre de TeamSybase - www.teamsybase.com

"A successful [software] tool is one that was used to do something undreamed of by its author." -- S. C. Johnson
mpeppler est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/09/2011, 12h41   #5
diablolight
Futur Membre du Club
 
Inscription : novembre 2007
Messages : 22
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 22
Points : 15
Points : 15
Cette fonctionnalité sera présente dans ASE 15.7:

http://blogs.sybase.com/database/201...rge-statement/
diablolight est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 18h27.


 
 
 
 
Partenaires

Hébergement Web