drop table tb
go
create table tb
(
id  int identity(1,1),
title ntext,
contents ntext 
)
goinsert tb
select 'CSDN个人空间. 真人构成的IT专业技术社区. 找到的你的技术同行,快捷交流与分享,赶快一起来吧! 填写“工作信息”,找到你的同事 · 填写“我的爱好”,找到志同道合的朋友 ...
','CSDN下载频道积分规则2.1. 最新资源. OClock 显示数字时钟的控件 · 软件项目中的人员管理ppt课件 · 学生宿舍管理系统---jsp · 图像处理的卷页滤镜效果 ...'
go
drop proc pro_tb
go
create proc pro_tb
(
@type nvarchar(200)
)
as
select @type from tb
goexec pro_tb 'title'
go

解决方案 »

  1.   

    create proc pro_tb 

    @type nvarchar(200) 

    as select @type=TITLE from tb 
    go 
      

  2.   

    create proc pro_tb 

    @type nvarchar(200) 

    as 
    exec('select '+@type+' from tb') 
    go 
      

  3.   

    create proc pro_tb 
    ( ID INT
     

    as 
    DECALRE @type nvarchar(2000)
    select @type=TITLE from tb WHERE ID=...
    go 
    觉得应该这样写好点,传个TITLE那么长,
      

  4.   

    select @type=TITLE from tb 
      

  5.   

    create  proc pro_tb 

    @type nvarchar(200) 

    as 
    declare @k nvarchar(4000)
    set @k='select '  +@type+ ' from tb' 
    exec(@k)
    go 
    exec   pro_tb 'title' 
    gtitle
    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    CSDN个人空间. 真人构成的IT专业技术社区. 找到的你的技术同行,快捷交流与分享,赶快一起来吧! 填写“工作信息”,找到你的同事 · 填写“我的爱好”,找到志同道合的朋友 ... (1 行受影响)o
      

  6.   

    drop proc pro_tb 
    go 
    create proc pro_tb 

    @type nvarchar(200) 

    as 
    declare @sql nvarchar(1000)
    set @sql = 'select '+ @type +' from tb '
    exec(@sql)
    go
      

  7.   

    drop proc pro_tb 
    go 
    create proc pro_tb 

        @type nvarchar(200) 

    as 
        declare @mysql nvarchar(500)
        set @mysql = 'select '+ @type +' from tb '
        execute sp_executesql  @mysql 
    go