小生,不太明白??
create procedure 是用来建立存储过程的
@length和@sss是过程的参数
如要执行就EXECUTE sp_format 'fuck', 'you'

解决方案 »

  1.   

    CREATE PROCEDURE sp_format 
    @length varchar(40),
    @sss char(10) 
    as
      declare @Command varchar(255)
      select @Command = 'select '+@length+' from '+@sss
      exec (@Command)
      

  2.   

    当然可以把数据库名也作为变量来引用,用WITH RECOMPILE参数可以将过程加密
      

  3.   

    to fish1977(小鱼儿) 
    我的意思是写存储过程时怎么写,不是如何执行!!!!
    to all
    谢谢大家的帮助!小弟很感激!
      

  4.   

    CREATE PROCEDURE sp_format 
    @length varchar(40),
    @sss char(10) 
    as
    exec ('SELECT length FROM'+@sss)
      

  5.   

    CREATE PROCEDURE sp_format 
    @length varchar(40),
    @sss char(10) 
    as
      declare @select varchar(255)
      select @select = 'select '+@length+' from '+@sss
      exec @select 
      

  6.   

    to pohong(): 
    CREATE PROCEDURE sp_format   
    @length varchar(40),
    @sss char(10) 
    as
      declare @Command varchar(255)                       //定义@Command变量        
      select @Command = 'select '+@length+' from '+@sss  //为变量赋值
      exec (@Command)                                    //把@Command作为语句执行
    //看懂了吗?我也是想了好久,呵呵,请高手勿见笑