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

来源:asp之家 时间:2011-12-01 07:59:13 

没有使用动态语句直接报错

错误的

代码如下:


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

标签:存储过程,变量
0
投稿

猜你喜欢

  • ASP实现上传图片自动压缩图片大小

    2010-01-25 12:47:00
  • 用ASP实现分级权限控制

    2008-10-09 13:02:00
  • 网页设计的色彩思考

    2007-10-19 13:30:00
  • Asp Oracle存储过程返回结果集的代码

    2011-04-10 11:16:00
  • Ajax的错误处理机制探讨

    2007-09-07 09:53:00
  • ASP 读取MP3文件帧的信息比特率,采样频率,播放时间

    2010-06-04 12:22:00
  • prototype.js常用函数及其用法

    2007-11-21 20:47:00
  • 关于INDEX SERVER+ASP建立查询引擎的一点心得

    2008-03-02 15:56:00
  • 体验DW MX 2004 CSS新功能

    2011-06-14 09:45:01
  • Oracle RMAN快速入门指南

    2010-07-18 12:50:00
  • 正确理解SQL Server四类数据仓库建模方法

    2008-12-23 15:20:00
  • css样式表滤镜全接触

    2007-10-26 12:48:00
  • 使用SQL Server2005扩展函数进行性能优化

    2010-06-07 11:26:00
  • ASP编程中的常见问题

    2007-09-20 13:32:00
  • W3C优质网页小贴士(二)

    2008-04-07 12:14:00
  • 课程讲解 如何使用SQL Server校勘功能

    2009-01-13 13:27:00
  • 中国目前流行的网页设计风格

    2007-12-20 12:57:00
  • 修改SQL Server 2005 sa用户密码的方法

    2008-12-10 14:41:00
  • 框架和框架之间的关系

    2008-01-17 18:54:00
  • 模式化窗口

    2009-06-18 18:41:00
  • asp之家 网络编程 m.aspxhome.com