快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

如何在存储过程中使用变量代替表名


Q atrie560lcd:
    我想在存储过程中使用变量代替表名,以便对一样格式的不同的表进行数据更改,但我不知道该怎么做。
     create procedure proc1
     as
     declare @tbname varchar(11),@cs int
     update @tbname set zd1=zd1+@cs
    结果显示:第4行有错误,必须声明变量 @tbname
     请问应该怎样写?

A回答:

    将 Update @tbname set zd1=zd1+@cs
    该为:
     update Table1 @tbname set zd1=zd1+@cs
    或 Update Table1 as @tbname set zd1=zd1+@cs (注:table1 为原表名)
    
    peiyan的意见:
    CREATE PROCEDURE
    Find_Dj @table_name varchar(20),@strsql varchar(20)
    
    AS
    
    declare @sql varchar(200)
    
    set @sql=\\\'\\\'select * from \\\'\\\'+@table_name+ \\\'\\\' where \\\'\\\'+ @strsql
    execute(@sql)
    
    乐全云的意见:
    create procedure proc1
     as
     declare @tbname varchar(11),@cs int
    declare @SQLSTRING NVARCHAR(4000)
    SET @SQLSTRING=N\\\'\\\' update \\\'\\\'+@tbname+\\\'\\\' set zd1=zd1+\\\'\\\'+@cs
    EXEC sp_executesql @SQLSTRING


返回类别: 教程
上一教程: SQL Server 2005:数据类型最大值
下一教程: 在SQL Server存储过程中执行DTS包

您可以阅读与"如何在存储过程中使用变量代替表名"相关的教程:
· 在 ACCESS 中使用“存储过程”(一)
· 在ACCESS中使用“存储过程”(二)
· 在SQL Server存储过程中执行DTS包
· 如何在视图中使用ORDER BY短语
· 使用链接服务器执行远程数据库上的存储过程
    微笑服务 优质保证 索取样品