mssql存储过程表名和字段名为变量的实现方法
2011-11-15 00:00
316 查看
没有使用动态语句直接报错
错误的
消息 156,级别 15,状态 1,过程 testpapers,第 1 行
关键字 'select' 附近有语法错误。
消息 1087,级别 15,状态 2,过程 testpapers,第 1 行
必须声明表变量 "@tems"。
首先要让表名或者字段为变量则要用到动态语句
错误的
消息 1087,级别 15,状态 2,第 1 行
必须声明表变量 "@tems"。
将表名和字段名写到exec里边
正确的
错误的
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
相关文章推荐
- 存储过程返回参数的方法(也是执行动态sql 实现列名成为变量的功能)
- Mysql存储过程查询结果赋值到变量的方法
- Oracle中通过存储过程,Function,触发器实现解析时间类型的字段并插入的对应的数据表中
- 用oracle的java存储过程实现BLOB字段的字符串读取
- [MSSQL]sql 存储过程定时执行方法
- 存储过程或自定义函数调用存储过程的变通实现方法
- 利用存储过程实现交叉表格式数据查询的一种通用方法
- 调用存储过程,java中通过bboss persistent实现数据库存储过程的调用(位置变量绑定)
- PHP得到mssql的存储过程的输出参数功能实现
- MSSQL:存储过程-实现两个表中取出头两行,然后合并到一个表中
- ORACLE实现存储过程返回查询结果集合的方法
- 常用的几种交互表存储过程的实现方法
- 常用的几种交互表存储过程的实现方法
- 某人收集的MSSQL扩展存储过程恢复方法—非常全面
- [MSSQL]sql 存储过程定时执行方法
- PHP MSSQL 存储过程的方法
- 疑问:关于组合查询时候的方法实现?能在存储过程中综合一下吗?
- 常用的几种交互表存储过程的实现方法
- MySQL实现类似于connect_by_isleaf的功能MySQL方法或存储过程
- 常用的几种交互表存储过程的实现方法