• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    mssql存储过程表名和字段名为变量的实现方法
    没有使用动态语句直接报错

    错误的
    复制代码 代码如下:

    alter proc testpapers
    as
    begin
    declare @tems nvarchar(max),@zidaun nvarchar(max)
    set @tems=select * from @tems order by @zidaun
    exec(@tems)
    end
    exec testpapers

    消息 156,级别 15,状态 1,过程 testpapers,第 1 行
    关键字 'select' 附近有语法错误。
    消息 1087,级别 15,状态 2,过程 testpapers,第 1 行
    必须声明表变量 "@tems"。

    首先要让表名或者字段为变量则要用到动态语句

    错误的
    复制代码 代码如下:

    alter proc testpapers
    as
    begin
    declare @tems nvarchar(max),@zidaun nvarchar(max)
    set @tems='select * from @tems order by @zidaun ';
    exec(@tems)
    end

    exec testpapers

    消息 1087,级别 15,状态 2,第 1 行
    必须声明表变量 "@tems"。

    将表名和字段名写到exec里边

    正确的
    复制代码 代码如下:

    alter proc testpapers
    as
    begin
    declare @startRow nvarchar(max),@tems nvarchar(max),@zidaun nvarchar(max)
    set @startRow='temp'
    set @tems='select * from ';
    set @zidaun='p_id';
    exec(@tems+@startRow+' order by '+@zidaun)
    end

    exec testpapers
    您可能感兴趣的文章:
    • SqlServer快速检索某个字段在哪些存储过程中(sql 语句)
    上一篇:通过T-SQL语句实现数据库备份与还原的代码
    下一篇:用SQL语句添加删除修改字段、一些表与字段的基本操作、数据库备份等
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    mssql存储过程表名和字段名为变量的实现方法 mssql,存储,过程,表名,和,