1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
CREATE PROCEDURE [dbo].[Insert_Langue]
@id int = NULL,
@lvl int = NULL,
@name nvarchar (100)= NULL
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
declare @la_id int;
SELECT @la_id = la_id FROM LANGUE WHERE la_name = @name;
declare @Query nvarchar(MAX);
declare @Query2 nvarchar(MAX);
declare @Param nvarchar(MAX);
BEGIN TRANSACTION
SET NOCOUNT ON;
SET @Query ='';
SET @Param = @Param + ',@id int '
SET @Param = @Param + ',@lvl int '
SET @Param = @Param + ',@name nvarchar(100) '
-- Insert into DB
SET @Query = 'INSERT INTO [dbo].[USER_LANGUE] ';
SET @Query = + @Query + '([id] ' ;
SET @Query2 = ' VALUES (@id';
IF (@la_id IS NOT NULL ) BEGIN
SET @Query = @Query + ',[la_id] ';
SET @Query2 =@Query2 + ', @la_id';
END
IF (@la_id IS NOT NULL ) BEGIN
SET @Query = @Query + ',[lvl] ';
SET @Query2 =@Query2 + ', @lvl';
END
SET @Query = + @Query + ') ' + @Query2+ ')'
IF (@Query <> '' )
begin
EXECUTE sp_executesql @Query, @Param
, @id = @id,
@la_id = @la_id,
@lvl = @lvl
end
COMMIT TRANSACTION
END |
Partager