ALTER PROCEDURE dbo.StoredProcedure1
@userId uniqueidentifier 

ASdeclare @sql nvarchar(2000)set @sql='select * from tb_userAnswer where  [userId]=  @userId  'exec sp_executesql @sql
RETURN 
tb_userAnswer 表里的userId为uniqueidentifier类型字段.  有谁知道 sql语句怎么改吗? 我现在 读不出数据

解决方案 »

  1.   

    ALTER PROCEDURE dbo.StoredProcedure1
    @userId uniqueidentifier  
    ASdeclare @sql nvarchar(2000)
    set @sql='select * from tb_userAnswer where [userId]= @userId 'exec sp_executesql @sql ,N'@userId uniqueidentifier ',@userIdRETURN  
      

  2.   

    ALTER PROCEDURE dbo.StoredProcedure1
    @userId uniqueidentifier  ASdeclare @sql nvarchar(2000)set @sql='select * from tb_userAnswer where [userId]= '''+@userId+''''exec (@sql) 
    RETURN  
      

  3.   

    或者直接ALTER PROCEDURE dbo.StoredProcedure1
    @userId uniqueidentifier  
    AS
    select * from tb_userAnswer where [userId]= @userId 
    go也可能是你调用问题,应该如下调用exec dbo.StoredProcedure1 '3A864867-A983-4D91-81B0-BC6FF4026CC0'
      

  4.   

    --放入临时表
    create table #aa(a  uniqueidentifier)insert into #aa
    exec ('dbo.StoredProcedure1')