Sybase - La FAQConsultez toutes les FAQ

Nombre d'auteurs : 1, nombre de questions : 77, dernière mise à jour : 8 février 2009  Ajouter une question

 

Question / réponses à tout ce que vous avez toujours voulu savoir sur Sybase ASE et ses dérivés sans jamais oser le demander


SommaireTransact-SQLFonctions et procédures stockées (15)
précédent sommaire suivant
 

Utiliser la fonction encrypt()

Mis à jour le 28 février 2006 Fabien Celaia

Code SQL : Sélectionner tout
1
2
3
4
  
DECLARE @datestring varchar(8) 
SET @datestring = '12/21/98' 
SELECT case when convert(datetime, @datestring) then 'date correcte' else 'Date invalide' end Test_Date

Mis à jour le 28 février 2006 Fabien Celaia

Code SQL : Sélectionner tout
1
2
3
4
  
SELECT case when convert(real, @datestring) then 'nombre valide' else 'Nombre invalide' end Test_Nbre 
FROM authors 
GO

Mis à jour le 28 février 2006 Fabien Celaia

Code SQL : Sélectionner tout
1
2
  
SELECT  DB_NAME()

Mis à jour le 28 février 2006 Fabien Celaia

ASE interdit l'utilisation de la fonction getdate() dans une fonction utilisateur.
Pour contourner cette difficulté,nous créons une vue qui renvoie la date courante

Code SQL : Sélectionner tout
1
2
3
4
  
CREATE VIEW V_DateHeure_Courante  
AS  
SELECT getdate() AS DateHeure_Courante
Sélectionner cette date dans votre fonction.

Code SQL : Sélectionner tout
1
2
3
  
SELECT DateHeure_Courante  
FROM V_DateHeure_Courante

Mis à jour le 28 février 2006 Fabien Celaia

Code SQL : Sélectionner tout
1
2
3
4
5
  
SELECT description  
FROM master..sysmessages  
WHERE langid=@@langid  
AND error= VotreNoDErreur

Mis à jour le 28 février 2006 Fabien Celaia

L'offre par défaut de Sybase est assez faible en ce sens. Utilisez SQLExpert ou SQLBrowser

Mis à jour le 28 février 2006 Fabien Celaia

En interrogeant la variable globale @@error, directement après l'appel de la requête : 0=succès, sinon no d'erreur

Mis à jour le 28 février 2006 Fabien Celaia

Vous pouvez supprimer la colonne puis la recréer.

Mis à jour le 28 février 2006 Fabien Celaia

Il suffit de consulter la valeur de la variable de sessions @@IDENTITY juste après l'insertion, faire :

Code SQL : Sélectionner tout
1
2
  
Select @@Identity as Dernière_Valeur_AutoIncrémenté

Mis à jour le 28 février 2006 Fabien Celaia

Code SQL : Sélectionner tout
1
2
3
4
5
6
7
8
  
SET IDENTITY_INSERT product ON 
GO 
INSERT INTO products (id, product) 
VALUES(3, 'garden shovel'). 
GO 
SET IDENTITY_INSERT product OFF 
GO
Cette façon de faire va à l'encontre du comportement même de l'identity et ne devrait être utilisée qu'exceptionnellement.

Mis à jour le 28 février 2006 Fabien Celaia

Toutes les fonctions sont disponibles à cette addresse : Fonctions temporelles

Mis à jour le 28 février 2006 Fabien Celaia

En utilisant la procédure stockée externe xp_cmdshell

Code sql : Sélectionner tout
1
2
  
exec xp_cmdshell 'dir /s'

Mis à jour le 9 mars 2006 Fabien Celaia

Code SQL : Sélectionner tout
1
2
3
4
  
select *  
from MaTable  
where ChampMotDePasseCrypte=encrypt(@MaChaineNonCryptee)

Mis à jour le 28 février 2006 Fabien Celaia

Avant la version 12, non.

Depuis la version 12, oui, mais il faut passer par une licence complémentaire Java et créer la fonction en Java

Depuis la version 15, le module Java est intégré à ASE sans coût supplémentaire

Dès la version 15.0.2, les UDF sont faisables en T-SQL

Mis à jour le 27 septembre 2007 Fabien Celaia

Proposer une nouvelle réponse sur la FAQ

Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour ça


Réponse à la question

Liens sous la question
précédent sommaire suivant
 

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2017 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

 
Contacter le responsable de la rubrique Sybase