国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
存儲(chǔ)過程中如何用表名作為輸入?yún)?shù)?動(dòng)態(tài)SQL語(yǔ)句的一些常見寫法
樓主wgj0122()2005-01-18 00:55:02 在 MS-SQL Server / 基礎(chǔ)類 提問

我想將存儲(chǔ)過程中要使用的表名作為存儲(chǔ)過程的輸入?yún)?shù),能做到嘛?  
  各位大俠幫忙啊  
  最好能有個(gè)完整的小例子! 問題點(diǎn)數(shù):20、回復(fù)次數(shù):4Top

1 樓pilicat(Delphi迷)回復(fù)于 2005-01-18 01:31:13 得分 5

這樣就可以了:  
   
  create   procedure   aProc  
      @TableName   Varchar(30)  
  as  
  declare   @SQLStr   nvarchar(2000)  
  begin  
      set   @SQLStr=N'select   Count(*)   as   [表'+@TableName+'的總記錄數(shù)為]   from   '+@TableName  
      Execute   sp_executesql   @SQLStr  
  end  
   
   
  大量電腦書籍下載:  
  http://www.netyi.net/in.asp?id=ForMoreU  
   
  Top

2 樓pilicat(Delphi迷)回復(fù)于 2005-01-18 01:33:11 得分 5

這樣就可以了:  
   
  create   procedure   aProc  
      @TableName   Varchar(30)  
  as  
  declare   @SQLStr   nvarchar(2000)  
  begin  
      set   @SQLStr=N'select   Count(*)   as   [表'+@TableName+'的總記錄數(shù)為]   from   '+@TableName  
      Execute   sp_executesql   @SQLStr  
  end  
   
   
  調(diào)用時(shí)這樣:  
  aProc   '表名'  
   
  大量電腦書籍下載:  
  http://www.netyi.net/in.asp?id=ForMoreU  
   
  Top

3 樓NinGoo(http://www.NinGoo.net)回復(fù)于 2005-01-18 08:50:31 得分 10

動(dòng)態(tài)SQL語(yǔ)句的一些常見寫法  
   
   
   
   
  1:普通SQL語(yǔ)句可以用Exec執(zhí)行  
   
  eg:       Select   *   from   tableName  
              Exec('select   *   from   tableName')  
              sp_executesql   N'select   *   from   tableName'         --   請(qǐng)注意字符串前一定要加N  
   
  2:字段名,表名,數(shù)據(jù)庫(kù)名之類作為變量時(shí),必須用動(dòng)態(tài)SQL  
   
  eg:        
  declare   @fname   varchar(20)    
  set   @fname   =   '[name]'  
  Select   @fname   from   sysobjects                                           --   錯(cuò)誤  
  Exec('select   '   +   @fname   +   '   from   sysobjects')           --   請(qǐng)注意   加號(hào)前后的   單引號(hào)的邊上要加空格  
  exec   sp_executesql   N'   select   '   +   @fname   +   '   from   sysobjects'    
   
  當(dāng)然將字符串改成變量的形式也可  
          declare   @s   varchar(1000)  
          set   @s   =   'select   '   +   @fname   +   '   from   sysobjects'  
          Exec(@s)                                 --   成功  
          exec   sp_executesql   @s       --   此句會(huì)報(bào)錯(cuò)  
   
          declare   @s   Nvarchar(1000)     --   注意此處改為nvarchar(1000)  
          set   @s   =   'select   '   +   @fname   +   '   from   sysobjects'  
          Exec(@s)                                 --   成功          
          exec   sp_executesql   @s       --   此句正確,  
   
  3:   輸出參數(shù)  
   
  eg:  
  declare   @num,  
                  @sqls  
  set   @sqls='select   count(*)   from     '   +   @servername   +   '.a.dbo.b'  
  exec(@sqls)  
  我如何能將exec執(zhí)行的結(jié)果存入變量@num中  
   
  declare   @num   int,  
                  @sqls   nvarchar(4000)  
  set   @sqls='select   @a=count(*)   from   '+@servername+'.a.dbo.b'  
  exec   sp_executesql   @sqls,N'@a   int   output',@num   output  
  select   @num  
   
   
  Top


    本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
    打開APP,閱讀全文并永久保存 查看更多類似文章
    猜你喜歡
    類似文章
    數(shù)據(jù)庫(kù)命名規(guī)則參考
    SQL使用存儲(chǔ)過程的好處
    SQL Server存儲(chǔ)過程使用表值作為輸入?yún)?shù)的簡(jiǎn)單示例
    分布式事務(wù)已完成。請(qǐng)將此會(huì)話登記到新事務(wù)或 NULL 事務(wù)中
    在易語(yǔ)言中調(diào)用MS SQL SERVER數(shù)據(jù)庫(kù)存儲(chǔ)過程(Transact
    《MySQL數(shù)據(jù)庫(kù)項(xiàng)目式教程》項(xiàng)目七 存儲(chǔ)過程與觸發(fā)器
    更多類似文章 >>
    生活服務(wù)
    分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
    綁定賬號(hào)成功
    后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
    如果VIP功能使用有故障,
    可點(diǎn)擊這里聯(lián)系客服!

    聯(lián)系客服