SQL Compact et instruction declare.
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:
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:
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?