暂无图片
Oracle 相减函数
我来答
分享
暂无图片 匿名用户
Oracle 相减函数

请问,两行相加用sum函数

oracle 两行相减,为什么没有相减函数,

t 数据

id

3

2

相加  select sum(id) from t;

请问 相减的语句如何写? (用最简洁的语句)


我来答
添加附件
收藏
分享
问题补充
4条回答
默认
最新
刘晓华

用lead或lag取后一行或前一行的id,再减即可

select  id - id_next

from  (

          select  id,lead(id,1) over(order by id) as id_next

           from   your_table_name

          )

暂无图片 评论
暂无图片 有用 0
打赏 0
咖啡哥

select id from t where id=3 

minus

select id from t where id=2

暂无图片 评论
暂无图片 有用 0
打赏 0
刘晓华
2023-06-13
他要的是数字相减不是结果集相减吧
咖啡哥
答主
2023-06-13
对对对,我看错了
水墨青花

SELECT SUM(CASE WHEN ROWNUM = 1 THEN id ELSE -id END) result FROM t;

暂无图片 评论
暂无图片 有用 0
打赏 0
水墨青花
  1. 创建一个代理账户

首先,在主要节点上创建一个代理帐户,并将其添加到 sysadmin 角色中,以便代理帐户可以执行作业或其他管理任务。这个代理账户应该被授权在目标服务器上执行需要同步的操作。

  1. 创建同步脚本

接下来,您需要编写脚本,该脚本将在主节点上运行,并将登录和作业信息同步到所有辅助副本上。脚本可包含以下查询或存储过程,用于同步登录和作业信息:

-- 同步登录
USE master
GO
DECLARE @loginName VARCHAR(100)
SELECT @loginName = name FROM sys.sql_logins WHERE type_desc = 'SQL_LOGIN'
EXEC sp_addlogin @loginame=@loginName, @passwd='password', @defdb='database', @deflanguage='us_english'
GO

-- 同步作业
USE msdb
GO
DECLARE @jobName VARCHAR(100)
SELECT @jobName = name FROM dbo.sysjobs
EXEC sp_add_job @job_name=@jobName
GO
复制
  1. 创建 SQL Agent 作业

您还需要创建一个 SQL Agent 作业,以便在指定的时间自动运行脚本。该作业应在主要节点上创建,并且需要使用先前创建的代理帐户运行。

  1. 配置 AlwaysOn 同步

最后,您需要确保 AlwaysOn 同步设置正确,以便在主副本之间传输作业和登录信息。如果存在不同的 AlwaysOn 组,则必须针对每个组执行此操作。

总结:定时同步登陆用户和作业是一个很好的做法,以确保AlwaysOn集群中所有辅助副本都具有相同的配置。您可以通过创建代理账户、同步脚本、SQL Agent 作业和配置AlwaysOn同步来实现定期同步。

暂无图片 评论
暂无图片 有用 0
打赏 0
水墨青花
答主
2023-06-12
呀,答错地方了。是另外一题。。。忽略
回答交流
Markdown


请输入正文
提交
相关推荐
oracle大表删除索引
回答 3
我一般是alterindexindexnameinvisible;dropindexindexname;invisible后可能需要一些时间才能避免SQL继续使用该索引。
oracle11.2.0升级11.2.0.4后能删除原来的11.2.0吗?
回答 6
1.结合告警日志好好排查一下磁盘突然膨胀的原因,我之前11g遇到bug,每次触发就往盘上写一个很大的数据包,后来清理掉了,然后打了补丁才恢复;2.如果1排查没问题,就按你的思路腾笼换鸟,一定先做好全部
监控oracle客户端的办法有哪些?
回答 3
selectfromv$activesessionhistory
OGG-01028 11.2.0.1解压表后还是无法抽取
回答 1
已采纳
FromV11.1.1.0.0,weenhancedtheerrorhandlingpartinBugDB9425542,whichgivesmeaningfulerrormessageontheco
绑定执行计划未成功
回答 2
用这个脚本去绑吧SPOcoexfrsqlprofile.log;SETDEFONTERMOFFECHOONFEEDOFFVEROFFHEAONLIN2000PAGES100LONG8000000LON
手动收集单条sql执行计划报错,ORA-16957: SQL Analyze time limit interrupt
回答 1
已采纳
没人回答,我来补充下我最后的操作:从trace文件中可以看到有这样一句:fatalerroroccurredwhilescanningredo说明程序在查redo中相关记录的时候,这个redo文件已经
Oracle 11g 在线redo日志错误,数据库只能启动到mount状态
回答 2
 recoverdatabaseuntilcancel;alterdatabaseopenresetlogs; 执行这个命令后,所有redo会被重置,可能会导致数据库丢数据。如果这
rman备份命令为backup database的时候会自动包含controlfile吗?
回答 3
1、在全备的过程中,你可以看下你的备份日志,这个备份集中会包含控制文件和参数文件。这个备份集可以用来恢复参数文件、控制文件、和全库2、如果你的路径下有两个备份集,那说说明开启了控制文件自动备份,这个时
请问centos7下面如何设置定时备份oracle11g,如何设置定时清除备份?
回答 1
和操作系统无关。通常是先写好rman或expdp的脚本,然后用crontab定时执行。清理也是一个脚本就实现的事情。
服务器本地读非常高,怎么快速定位
回答 1
每个实例都拉一个AWR报告,知道时间点就按时间点拉,越短越好