{SQL} Return, IF... ELSE...??
feadin91
Messages postés
282
Statut
Membre
-
feadin91 Messages postés 282 Statut Membre -
feadin91 Messages postés 282 Statut Membre -
Bonjour,
J'ai une application en C#, .net 1.1, avec gestion d'une base de données. Dans celle-ci, je dois créer une fonction qui retourne une table, ou une seule ligne, en fonction de la présence ou non de paramètres...
J'utilise l'éditeur Visual Studio 2008 (personne n'est parfait ;) )
Pour le moment j'ai :
Sauf que à priori ma syntaxe n'est pas la bonne...
Lorsque je veux sauvegarder la modification, VS2008 m'indique que la syntaxe n'est pas bonne vers 'If'
et vers ')'...
J'ai beau essayer toutes les modifications possibles, je ne vois pas comment faire...
Please Help!
J'ai une application en C#, .net 1.1, avec gestion d'une base de données. Dans celle-ci, je dois créer une fonction qui retourne une table, ou une seule ligne, en fonction de la présence ou non de paramètres...
J'utilise l'éditeur Visual Studio 2008 (personne n'est parfait ;) )
Pour le moment j'ai :
ALTER FUNCTION dbo.fnt_Usine ( @idUsine [int] = Null, @sCode [char](2) = Null ) Returns Table As Return ( If((@idUsine Is Null) And (@sCode Is Null)) Begin Select [idUsine] ,[sCode] ,[sLibelle] From [dbo].[t_Usine] End Else Begin Select [idUsine] ,[sCode] ,[sLibelle] From [dbo].[t_Usine] Where ((@idUsine Is Null) Or ([idUsine] = @idUsine)) And ((@sCode Is Null) Or ([sCode] = @sCode)) End )
Sauf que à priori ma syntaxe n'est pas la bonne...
Lorsque je veux sauvegarder la modification, VS2008 m'indique que la syntaxe n'est pas bonne vers 'If'
et vers ')'...
J'ai beau essayer toutes les modifications possibles, je ne vois pas comment faire...
Please Help!
A voir également:
- {SQL} Return, IF... ELSE...??
- Logiciel sql - Télécharger - Bases de données
- Zuma return - Télécharger - Jeux vidéo
- The realtek network controller was not found. if deep sleep mode is enabled please plug the cable ✓ - Forum Pilotes (drivers)
- Requete sql pix - Forum PHP
- Additions et multiplication dans des requêtes SQL ✓ - Forum MySQL
8 réponses
Pour SQL Server 2008, il n'y a pas de END IF. Juste END (enfin il me semble...) Je vais tester ça de suite.
-> Je confirme. En SQL Server, c'est
(source : msdn library https://docs.microsoft.com/en-us/sql/t-sql/language-elements/if-else-transact-sql?redirectedfrom=MSDN&view=sql-server-ver15 )
-> Je confirme. En SQL Server, c'est
IF Boolean_expression
{ sql_statement | statement_block }
[ ELSE
{ sql_statement | statement_block } ]
(source : msdn library https://docs.microsoft.com/en-us/sql/t-sql/language-elements/if-else-transact-sql?redirectedfrom=MSDN&view=sql-server-ver15 )
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Il n'y en a pas.
La fin du IF est déterminée par le ELSE...
Regarde cet exemple (toujours sur MSDN) :
La cuillère n'existe pas!
La fin du IF est déterminée par le ELSE...
Regarde cet exemple (toujours sur MSDN) :
DECLARE @AvgWeight decimal(8,2), @BikeCount int
IF
(SELECT COUNT(*) FROM Production.Product WHERE Name LIKE 'Touring-3000%' ) > 5
BEGIN
SET @BikeCount =
(SELECT COUNT(*)
FROM Production.Product
WHERE Name LIKE 'Touring-3000%')
SET @AvgWeight =
(SELECT AVG(Weight)
FROM Production.Product
WHERE Name LIKE 'Touring-3000%')
PRINT 'There are ' + CAST(@BikeCount AS varchar(3)) + ' Touring-3000 bikes.'
PRINT 'The average weight of the top 5 Touring-3000 bikes is ' + CAST(@AvgWeight AS varchar(8)) + '.'
END
ELSE
BEGIN
SET @AvgWeight =
(SELECT AVG(Weight)
FROM Production.Product
WHERE Name LIKE 'Touring-3000%' )
PRINT 'Average weight of the Touring-3000 bikes is ' + CAST(@AvgWeight AS varchar(8)) + '.'
END ;--
La cuillère n'existe pas!