begin process at 2012 05 27 00:59:44
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

SQL Server, MSDE, SQL Express

 > 

Functions

 > 

utilisation de IsEmpty()


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

utilisation de IsEmpty()

vendredi 28 juillet 2006 à 11:54:23 | utilisation de IsEmpty()

bootchoz

bonjour, je n'arrive pas à utiliser cette fonction.
je voudrais verifier si un select me renvoit une cellule vide. J'avais ecrit cela mais @var ne vaut jamais null meme quand ma table est vide !
si quelqu'un peut m'aiguiller ce serait sympa.
merci.
SET @var=(SELECT DISTINCT id_dem FROM table_virtuel)
 if(@var = NULL)
  SET @id_dem=((SELECT MAX(id_dem) FROM [demande])+1)
 else
  SET @id_dem=@var
vendredi 28 juillet 2006 à 13:20:19 | Re : utilisation de IsEmpty()

sim51

Membre Club

Bonjour,

Il me semble que normalement le test est : if @var is null

Essaye avec ça, si cela ne marche pas ba je chercherais

Bonne continuation.

N'oubliez d'aller voir le règlement de C-S ici
N'oubliez pas de cliquer sur réponse acceptée si la réponse vous convient !!!
vendredi 28 juillet 2006 à 14:18:11 | Re : utilisation de IsEmpty()

bootchoz

merci pour ta reactivité, mais ca ne fonctionne toujours pas. l'incrementation ne se fait pas.

vendredi 28 juillet 2006 à 16:47:49 | Re : utilisation de IsEmpty()

sim51

Membre Club

re,

j'avais pas vu que @var était un tableau (@var =(SELECT DISTINCT id FROM table))
Mais je ne comprend pas ce que tu veux faire. Pourquoi fais tu un select distinct id from table ? Ce ne serait pas par hasard select count(distinct id) from table que tu veux ?

N'oubliez d'aller voir le règlement de C-S ici
N'oubliez pas de cliquer sur réponse acceptée si la réponse vous convient !!!
lundi 31 juillet 2006 à 09:36:32 | Re : utilisation de IsEmpty()

bootchoz

en fait je cherche a savoir s'il y a deja un enregistrement dans la table. si oui, j'attribue le meme id a l'enregistrement suivant, sinon, je vais rechercher dans une autre table le dernier id enregistré, je lui ajoute 1 pour retrouver la nouvelle valeur de l'id.c'est un peu tordu mais c'est la seule solution que j'ai trouvé pour resoudre mon truc.
lundi 31 juillet 2006 à 11:46:05 | Re : utilisation de IsEmpty()

sim51

Membre Club
Re,
Donc oui c'est bien ce que je pensais, je ne vois pas le pourquoi de l'utilisation de l'affectation de a variable.
Si ti veux savoir si ta table est vide ou pas il te suffit de fair cela :

SET @var=(SELECT COUNT DISTINCT id_dem FROM table_virtuel)

@var va donc te retourner le nombre d'enregistrement que la requete SELECT DISTINCT id_dem FROM table_virtuel contient.
Ensute pour les tests c'est tout simple :

IF(@var = 0)
  SET @id_dem=((SELECT MAX(id_dem) FROM [demande])+1)
ELSE
  SET @id_dem=@var

N'oubliez d'aller voir le règlement de C-S ici
N'oubliez pas de cliquer sur réponse acceptée si la réponse vous convient !!!
lundi 31 juillet 2006 à 12:09:59 | Re : utilisation de IsEmpty()

bootchoz

Réponse acceptée !

en fait, ce qui m'interesse n'est pas le nombre d'enregistrement de 'table_virtuel' mais la valeur de 'id_dem' qui est la pk d'une autre table nommée demande. Je vide 'table_virtuel' apres chaque validation des changements effectués par l'utilisateur. ca fonctionne en effet si @var=0 mais si @var=nbEnregistrements, il peut etre different de la valeur réelle de 'id_dem'. je ne suis surement pas tres explicite, excuse moi. voila ma new procedure stockee qui fonctionne.merci pour ton aide sim51
CREATE PROCEDURE InsertEtreAttribue @date_deb datetime, @date_exp datetime, @date_sup datetime, @wwid_pers varchar(50), @id_role bigint
AS
 DECLARE @id_pers bigint
 DECLARE @id_dem bigint
 DECLARE @var bigint

 SET @id_pers=(SELECT id_pers FROM personne WHERE wwid_pers=@wwid_pers

  SET @var=(SELECT DISTINCT id_dem FROM table_virtuel)
 if(@var = NULL)
  SET @id_dem=(SELECT MAX(id_dem)+1 FROM [demande])
 else
  SET @id_dem=@var

  UPDATE role
 SET date_deb=@date_deb, date_exp=@date_exp, date_sup=@date_sup
 WHERE id_role=@id_role

 INSERT INTO table_virtuel (id_dem, id_role, date_deb, date_exp, date_sup)
 VALUES (@id_dem, @id_role, @date_deb, @date_exp, @date_sup)
GO



Cette discussion est classée dans : set, var, select, id, dem


Répondre à ce message

Sujets en rapport avec ce message

Problème de charset [ par courbiff ] Bonjour à tous !Je vous explique :Je suis étudiant en informatique, et lors de mon stage annuel je réalise un Intranet en utilisant PHP, MySQL et un s Requetes sql avec conditions [ par trader14000 ] Bonjour, Ca fait plusieurs jours que je bloque sur un requete : J'aimerai pouvoir faire une seule et même requête, pour obtenir des "Gains" et "Perte problème résultat requête select [ par slayer07 ] Bonjour, je viens de faire une requête select sur 2 tables. Le souci que j'ai est que lors de l'exécution de la requête,il m'apparait 2 résultats avec besoin d'aide pour un trigger [ par marcolo21 ] Bonjour tous le monde, j'aurai besoin d'aide pour un trigger. Ce trigger a pour but de noté les modifications faite dans un table dans un autre table problème de requete sql avec un delete et un select imbriquer avec un order by [ par flachkiller ] Bonjour, je voudrai savoir comment résoudre se problème : j'ai une requête qui est la suivante : SELECT id_requete, ( SELECT ip FROM machine WHERE Problème avec une SP avec SELECT et WHERE multiple [ par SoyYo ] Salut, comme dit dans le titre, j'ai un problème avec une SP qui et un select: CREATE PROCEDURE `AdminConnect`(nom varchar(255), pass varchar(255)) B Optimisation d'une sous-requête SQL [ par Lugdunum2 ] Bonjour, Dans le cadre de l'optimisation des requêtes SQL d'un site web, je me retrouve avec une grande question dont je n'ai pas trouvé de réponse d Select Distinct sur une colonne [ par thiosyiasar ] Bonjour,Je veux récupérer une liste d'utilisateur dans une table utilisateur. (id, nom, prénom, email)L'application qui alimente la table ne prend pas Faire plusieurs if dans un procedure stockee [ par chris81 ] bonjour,comment puis je faire pour verifier plusiseurs if dans la meme procedure stockee c'est a direif not exist(SELECT Id FROM...) et if not exists( Select sans doublon avec date la plus recente [ par ironnyc ] Bonjour a tous!je cherche a faire une requete Select avec une base MySql sur la table suivante: #Table "historique"+-----+-------------+------------+|


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,562 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales