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
投稿

猜你喜欢

  • python 模拟登陆github的示例

    2022-01-05 17:52:41
  • python链接sqlite数据库的详细代码实例

    2024-01-20 12:17:00
  • 解读HTML:大厦的基石

    2008-12-01 12:57:00
  • 采用memcache在web集群中实现session的同步会话

    2023-10-01 22:26:37
  • 解决Python运算符重载的问题

    2022-07-04 23:09:33
  • javascript实现炫酷的拖动分页

    2024-06-19 01:46:04
  • 用Python自动清理电脑内重复文件,只要10行代码(自动脚本)

    2021-03-23 05:09:50
  • Django记录操作日志与LogEntry的使用详解

    2022-03-15 11:21:46
  • Javascript简单实现面向对象编程继承实例代码

    2024-04-19 09:50:42
  • uniapp小视频项目开发之滑动播放视频

    2023-07-02 05:24:36
  • SQL Server中常用截取字符串函数介绍

    2024-01-25 16:34:02
  • 在Python的Flask框架中使用模版的入门教程

    2021-09-14 04:57:59
  • Python魔术方法专题

    2023-03-14 15:38:02
  • Golang并发编程之Channel详解

    2024-05-09 14:58:42
  • 如何用Python和JS实现的Web SSH工具

    2021-04-23 13:50:13
  • sqlserver2005 安装图解教程以及SQL 2005 SP3补丁安装图文教程

    2024-01-15 12:05:13
  • 面向站长和网站管理员的Web缓存加速指南[翻译]

    2008-04-22 21:04:00
  • vue使用百度地图报错BMap is not defined问题及解决

    2024-04-26 17:42:02
  • Pycharm2020最新激活码|永久激活(附最新激活码和插件的详细教程)

    2023-11-16 07:44:20
  • 入门tensorflow教程之TensorBoard可视化模型训练

    2023-04-18 22:37:08
  • asp之家 网络编程 m.aspxhome.com