Bonjour, j'aimerais créé une procédure stockée qui utilise 3 variables dont 1 de type tableau, mais je ne sais pas comment faire.
Concernant mon problème: je fais une application sous VB.net dans lequel je compte enregistrer mes données présentes dans un tableau, pour cela, je pensais que pour enregistrer, je pensais vider la table correspondante avant de faire un Insert.
Voilà mon code:

Code SQL : 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
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE SP_FGC_MAJGrilleTarifaire
	@Nature varchar(1),
	@IdCategorie T_Identifiant,
	@Donnees table(PoidsMin int, PoidsMax int, unite smallint, prix numeric(4,2))
AS
BEGIN
	SET NOCOUNT ON;
 
	delete from [dbo].[GrilleTarif]
	Where Nature=@Nature AND ID_CATEGORIE=@IdCategorie
	Go
 
	insert into [dbo].[GrilleTarif](PoidsMin, PoidsMax, Unite, prix, Nature, ID_CATEGORIE)
	select @Donnees, @Nature, @IdCategorie
END
GO

J'obtiens ces erreurs
Msg*156, Niveau*15, État*1, Procédure*SP_FGC_MAJGrilleTarifaire, Ligne*4
Syntaxe incorrecte vers le mot clé 'TABLE'.
Msg*102, Niveau*15, État*1, Procédure*SP_FGC_MAJGrilleTarifaire, Ligne*10
Syntaxe incorrecte vers '@IdCategorie'.
Msg*137, Niveau*15, État*2, Ligne*3
La variable scalaire "@Donnees" doit être déclarée.