create table zhe3   -------表
(
  zhe_id int primary key,
  txt varchar(100),
  dat datetime
)create proc intozhe3    ----这是创建的存储过程
@zhe_id int,
@zhe_txt varchar(100)
@zhe_dat datetime
as
begin
exec(N'insert into zhe3 values ('+@zhe_id+','+@zhe_txt+','+@zhe_dat+')')
endexec intozhe3 3,N'asdf'getdate --这里调用的参数怎么写啊?????或者还有过程还有好的写吗?

解决方案 »

  1.   

    试试:
    declare @dt getdate()
    exec intozhe3 3,N'asdf',@dt
      

  2.   

    晕,写急了
    declare @dt datetime
    set @dt=getdate()
    exec intozhe3 3,N'asdf',@dt
      

  3.   

    exec(N'insert into zhe3 values ('+@zhe_id+','''+@zhe_txt+''','''+@zhe_dat+''')')
      

  4.   

    应该是exec proc intozhe3 3,N'asdf',getdate()
      

  5.   

    如果还不行,转换一下数据类型
    exec(N'insert into zhe3 values ('+cast(@zhe_id as varchar)+','''+@zhe_txt+''','''+cast(@zhe_dat as varchar)+''')')
      

  6.   

    汗~我说的是2楼declare @dt datetime
    set @dt=getdate()
    exec intozhe3 3,N'asdf',@dt
      

  7.   

    create proc intozhe3    ----这是创建的存储过程
    @zhe_id int,
    @zhe_txt varchar(100),
    @zhe_dat datetime
    as
    begin
    exec(N'insert into zhe3 values ('+@zhe_id+','''+@zhe_txt+''','''+@zhe_dat+''')')
    endcreate table zhe3   -------表
    (
      zhe_id int primary key,
      txt varchar(100),
      dat datetime
    )exec intozhe3 3,N'asdf','2006-11-15'1.先建存储过程,再建表
    2.你的@zhe_txt varchar(100)后面少了逗号
    3.exec(N'insert into zhe3 values ('+@zhe_id+','+@zhe_txt+','+@zhe_dat+')')
    改成楼上的写法
    exec(N'insert into zhe3 values ('+@zhe_id+','''+@zhe_txt+''','''+@zhe_dat+''')')