Your method is open to SQL Injection abuse (although if you use quotename on EVERY SINGLE PARAMETER, EVERY TIME, WITHOUT FAIL!!!, you'll be fine.Either of these methods would be preferable to the route you are headed down IMHO
Simple INSERT statement:CREATE PROCEDURE InsertText( @vKeyWord varchar(200))AsSet NoCount OnBegin Insert into testtab values(1, @vKeyWord)End Go
Parametrise dynamic SQLCREATE PROCEDURE InsertText( @vKeyWord varchar(200))AsSet NoCount OnDeclare @vStrSql nvarchar(4000)Begin SET QUOTED_IDENTIFIER ONSET @vStrSql = 'Insert into testtab values(1, @vKeyWord)'exec sp_executesql @vStrSql, N'@vKeyWord varchar(200)', @vKeyWordEnd Go