首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

谁帮小弟我改下这个存储过程

2012-01-22 
哪位高手帮我改下这个存储过程啊CREATEPROCEDURE[InsertRoad]@TableName[varchar](8),@sTitle_p[varchar](

哪位高手帮我改下这个存储过程啊
CREATE   PROCEDURE   [InsertRoad]  
  @TableName[varchar](8),
  @sTitle_p   [varchar](50),
  @sText_p   [text]

AS   INSERT   INTO     [TableName]  
  ([sTitle],
  [sText])    
VALUES  
(@sTitle_p,
  @sText_p)
GO
================================================
想要在上面这个插入数据的存储过程中使用参数做表的名字,现在的写法是错误的,应该怎么改?

[解决办法]
CREATE PROCEDURE InsertRoad
@TableName varchar (8),
@sTitle_p varchar (50),
@sText_p text

AS
DECLARE @SQL VARCHAR(1000)
SET @SQL= 'INSERT INTO '+@TableName+ '(sTitle,sText) VALUES( '+@sTitle_p+ ', '+@sText_p+ ') '
EXEC(@SQL)

GO

[解决办法]
CREATE PROCEDURE [InsertRoad]
@TableName[varchar](8),
@sTitle_p [varchar](50),
@sText_p [text]

AS

declare @SQL nvarchar(1000)

set @SQL = 'INSERT INTO ' + @TableName + ' ([sTitle],[sText]) valuses( ' + @sTitle_p
+ ', ' + @sText_p + ') '

exec @SQL

热点排行