Bonjour,
j'ai une application qui utiliser SQLexpress, je suis entrain de passer sous sql compact, pour éviter d'avoir besoin d'installer un serveur de donnée sur la machine distante.
Mais il y a des différences de synthaxes contre lesquelles je lutte:
Voilà ma requete d'origine:
Je la stocke dans un fichier, je garde donc ce dont j'ai besoin pour sql compact, ce qui donne:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 CREATE PROCEDURE [dbo].[proc_modifdocument] (@id int = 5, @titre nvarchar(50), @auteur nvarchar (50), @genre nvarchar (50), @type nvarchar (50)) AS declare @idtype as int declare @idgenre as int select @idtype=id from type where type = @type select @idgenre=id from genre where genre = @genre if (isnull(@idgenre,0)=0) begin() insert into Genre(Genre) values(@genre) select @idgenre=id from genre where genre = @genre update document set [titre] = @titre,[auteur] = @auteur,[genre] = @idgenre, [type] = @idtype where id = @id End else update document set [titre] = @titre,[auteur] = @auteur,[genre] = @idgenre, [type] = @idtype where id = @id /* SET NOCOUNT ON */ Return
Mais j'obtient une erreur au niveau du premier declare(le premier mot en fait), comment pourrais-je faire pour éviter cette erreur?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 declare @idtype as int declare @idgenre as int declare @veriftitre as int select @veriftitre=id from document where titre = @titre and auteur = @Auteur if @veriftitre =0 or @veriftitre is null begin() select @idgenre=id from genre where genre = @genre If @idgenre is null or @idgenre = 0 begin() insert into genre (genre)values (@genre) select @idgenre=id from genre where genre =@genre End select @idtype=id from type where type = @type insert into document (Titre,auteur,genre,type,disponible) values (@titre,@auteur,@idgenre,@idtype,1) End
Partager