Pouvons-nous retourner la valeur nulle de la procédure stockée. Je ne veux pas utiliser Collasse ou Isnull. Je veux capturer null au frontend. Est-ce possible?
edit: strong> p> J'utilise par exemple. où je veux utiliser p>
SQL Server 2005 code> p>
blockQuote>
3 Réponses :
Non, le type de retour d'une procédure stockée est int code> et il ne peut pas être null. p>
Les paramètres d'entrée aux procédures stockées peuvent être int et sont toujours attribués NULL, alors pourquoi ne pas renvoyer les paramètres?
@Chris: C'est ainsi que la langue est conçue. Je soupçonne que l'étui d'utilisation prévu comme un statut d'échec / de réussite, ne pas être null a du sens.
Utilisez un paramètre de sortie, exemple puis appelez-le comme suit ceci p>
Vous pouvez penser à un proc comme suit. Laissez-moi d'abord définir le contexte. Nous pourrions avoir une table TABLE1 (ID INT, NOM VARCHAR (2), VARCHAR (2)) CODE> et souhaitez obtenir l'identifiant et, si non trouvé, il sera null. Nous pourrions donc écrire un proc comme le suivant:
CREATE PROCEDURE GetId
@Name VARCHAR(50), @Status int output
AS
BEGIN TRY
set @Status = null
select @Status = id from Table1 where name=@name
Quelle base de données utilisez-vous? SQL Server, MySQL, etc.?
@Justin: Q est étiqueté T-SQL. C'est SQL Server.
@Mehrdad afshari, Sybase utilise également T-SQL