sql的分支语句
Ⅰ sql 分支语句
UPDATE table12222 SET 折扣=5 + (400-订单数量)/100
不过,你可能是要求>100
UPDATE table12222 SET 折扣=(
if 订单数量>100 then
case 订单数量
when 订单数量>400 then 5
when 订单数量>300 then 6
when 订单数量>200 then 7
else 8
end
else 10
end
)
Ⅱ sql中有“分支语句”吗
在写SQL脚本的时候会遇到条件语,比如IF,case when等,都会产生分支语句。
Ⅲ 关于SQL语句的分支判断
你的意思不太明确啊,能补充说全点吗?
最好把表结构放上来,把你需要的查询功能说出来
Ⅳ SQL数据库中:分支语句和循环语句各自可以嵌套,也可以相互嵌套。这个
可以多个嵌套,但是只要一个条件不满足结果都查询不到,你把语句写出来看下
Update Table Set a='5' Where b=
(Select b
From Table
Where c In (Select c
From Dmpedi.Pps_Temp
Where b = '2'
And Rownum < 5)
And Rownum = 1)
Ⅳ 新手上路,sql语句中想要实现分支
declare @type varchar(10)
if @type=1
begin
insert into 表名(字段1,字段2,字段3,字段4,字段5)
select 字段1,字段2,字段3,字段4,字段5
end
if @type=0
begin
update 表名 set 字段1='',字段2='',字段3='',字段4='',字段5='' where 您的条件=某值
end
Ⅵ access关于SQL语句的分支判断
case when A.siteId < B.SiteID then
linesite.siteID between A.siteId and B.SiteID
else
linesite.siteID between c.siteId and d.SiteID
end
这个条件有点复杂了
当 A.siteId < B.SiteID 的时候, 要求
linesite.siteID between A.siteId and B.SiteID
否则 要求
linesite.siteID between c.siteId and d.SiteID
换种方式写的话……
(
( A.siteId < B.SiteID
AND linesite.siteID between A.siteId and B.SiteID
)
OR
( A.siteId >= B.SiteID
AND
linesite.siteID between c.siteId and d.SiteID
)
)
Ⅶ SQL是否有分支判断语言
你这种情况用不着分支语句,
如果=2修改时是完全修改的话,如下:
delete B from A,B
where A.column>1 and (AB主键关联)
go
innsert into B
select * from A
where column<3
go
查询结果重复利用的问题:
鉴于你要用到的SQL插入语句是insert into table1 select * from table2
所以任何一次执行都是要进行select 的,但是SQL 引擎对这种情况提供了缓存机制,也就是每一个查询语句都不是直接就执行的,而是先到缓存区调用想同的查询,提高效率。我想这种做法虽然达不到你所说的重复利用,但是已经很不错了。
另外,如果你不想影响让这个查询影响别人对A表的操作,那你可以将数据先存到一个临时表,变成每次只对A表查询一次,然后对临时表多次的操作。
至于你说的SQL 的分支语句,sql有几个特殊语法可以解决:while,if,goto label, if exists() 等等,详细的用法网上有不少详解。
最后想说的是,能不用游标最好不用,除非你很强,知道什么时候用游标比其他方式的效率都高。
Ⅷ 简述在plsql程序中分支语句有几种情况
一plsql程序简介
plsql就是对sql程序的扩展,使我们更好的在Oracle数据库上操作数据
1.plsql的程序结构
plsql的程序结构分为四部分:
declare
声明部分(变量的声明,光标的申明,异常说明);
begin
plsql执行语句
exception
异常处理语句
end;
Ⅸ SQL中判断分支语句怎样写,帮忙
不同的数据库语法有点不同,一般SQL应如下写法:
select (CASE WHEN ( t1.PRICE is null ) then v.Selling2 else t1.PRICE end) as "PRICE"
from AGENTGOODSCHECK t1 left join V_AGENTGOODSMASTER v
on t1.GOODSCODE=v.OrderCode
where CONVERT (VARCHAR(10),DATEADD(DAY,-1,t1.VDATE),111) = '2011/11/24'
and t1.GOODSCODE='000809'
and t1.STATUS<>'03'