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

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

mssql存储过程表名和字段名为变量的实现方法,需要的朋友可以参考下。

没有使用动态语句直接报错 错误的
<div class=”codetitle”><a style=”CURSOR: pointer” data=”88372″ class=”copybut” id=”copybut88372″ onclick=”doCopy(‘code88372’)”> 代码如下:<div class=”codebody” id=”code88372″>
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”。 首先要让表名或者字段为变量则要用到动态语句 错误的
<div class=”codetitle”><a style=”CURSOR: pointer” data=”80086″ class=”copybut” id=”copybut80086″ onclick=”doCopy(‘code80086’)”> 代码如下:<div class=”codebody” id=”code80086″>
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里边 正确的
<div class=”codetitle”><a style=”CURSOR: pointer” data=”58060″ class=”copybut” id=”copybut58060″ onclick=”doCopy(‘code58060’)”> 代码如下:<div class=”codebody” id=”code58060″>
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

本文来自网络,不代表青岛站长网立场。转载请注明出处: https://www.0532zz.com/html/shujuku/mssql/20201019/11541.html
上一篇
下一篇

作者: dawei

【声明】:青岛站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐

返回顶部