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:
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
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
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
Mais j'obtient une erreur au niveau du premier declare(le premier mot en fait), comment pourrais-je faire pour éviter cette erreur?