create  proc  zhu  @tablename varchar (50),@title  varchar(50),@content  text  
as  
exec('insert  into' +@tablename+'(title,content)  values('+@title+','+@content+')')
go  
这样写可以吗?什么时候这样写
create proc zhu @title varchar(50),@content varchar(50)
as 
insert into [user](title,content) values(@title,@content)
go
也就是说什么时候加上引号

解决方案 »

  1.   

    exec('insert  into' +@tablename+'(title,content)  values('+@title+','+@content+')')
    这种情况
    EXEC是调用另外的存储过程的写法,如果你存储过程里没调用别的存储过程,就是SQL语句就不要这样搞了啊,简单的事情搞复杂干嘛
      

  2.   

    一般都是 
    declare @str as varchar(500)set @str = 'insert  into' +@tablename+'(title,content)  values('+@title+','+@content+')'然后 
    exec @str 为了方便
      

  3.   

    不是嫌分少,而是想让你的问题沉下去,位置留给asp.net问题。csdn 有 SQL Server 论坛可以问问。