sql存储过程中根据判断拼接sql语句然后执行 20

if判断条件beginsql语句1endelsebeginsql语句2end在sql存储过程中,先判断条件,成立的话就sql语句1,否则就sql语句2,然后在执行第三条s... if 判断条件
begin
sql语句1
end
else
begin
sql语句2
end

在sql存储过程中,先判断条件,成立的话就sql语句1,否则就sql语句2,然后在执行第三条sql语句时拼接上前面条件判断通过的那条sql语句,比如
select count(*) from (sql语句1或者sql语句2)

这么写肯定是错的,就这个意思,求数据库中拼接sql语句的具体语法 该怎么写
展开
 我来答
来学习的DBA
2015-04-17 · TA获得超过298个赞
知道小有建树答主
回答量:369
采纳率:0%
帮助的人:209万
展开全部

有图有真相

twvampire
推荐于2017-12-16 · TA获得超过3620个赞
知道大有可为答主
回答量:3029
采纳率:76%
帮助的人:2983万
展开全部
不知道你为什么要这样写,,,
if xxx
sql1
select count() xx from sql1
end
else
sql2
select xxxx from sql2
xxx
为什么不采用这种方式?
如果非要拼接,还要定义@变量,
你后续还是要判断from后面引用哪个,
因为from 后面是没有 a or b的写法的
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
雨夜ぜ狂想5f5
2015-04-17 · TA获得超过178个赞
知道小有建树答主
回答量:476
采纳率:33%
帮助的人:258万
展开全部
/* 
我给你举一个构造sql语句的例子,首先把sql语句计算出来,然后再执行这个计算出来的sql语句 
*/ 
declare @lssql nvarchar(1024),@a varchar(10),@b varchar(10),@c varchar(32) 
set @a='select'  
set @b='*' 
set @c= 'from person' 
set @lssql=''+@a+' '+@b+' '+@c+''    --得出sql语句  
execute sp_sqlexec @lssql --执行构造好的sql语句
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dingzi__
2015-04-17 · 超过31用户采纳过TA的回答
知道答主
回答量:91
采纳率:50%
帮助的人:40.3万
展开全部
Begin
Select count(*) into 变量1 from 表A where列名=param1;

If (判断条件) then
Select 列名 into 变量2 from 表A where列名=param1;
Dbms_output。Put_line(‘打印信息’);
Elsif (判断条件) then
Dbms_output。Put_line(‘打印信息’);
Else
Raise 异常名(NO_DATA_FOUND);
End if;
Exception
When others then
Rollback;
End;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tanfu8031
2015-04-17 · TA获得超过141个赞
知道小有建树答主
回答量:322
采纳率:0%
帮助的人:183万
展开全部
exec ('select count(*) from ('+SQL语句1或2+')')
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式