SQL Dynamic execute

Dynamic execute

USE pubs
GO

IF EXISTS (SELECT * FROM sysobjects WHERE name = 'add_author'
                   AND type = 'P')
     DROP PROC add_author
GO

CREATE PROC add_author
@au_id char(11),
@au_lname varchar(20),
@au_fname varchar(20),
@tabname varchar(30) AS

BEGIN
DECLARE @insert_stmt varchar(255)
SELECT @insert_stmt='INSERT ' + @tabname + ' (au_id,
    au_lname, au_fname, contract) VALUES (''' + @au_id +
    ''',''' + @au_lname + ''',''' + @au_fname + ''', 1)'
EXECUTE (@insert_stmt)
END
GO


EXEC add_author '999-99-1234', 'Pike', 'Neil', 'authors'