AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题

问题[dml](dba)

Martin Hope
Giacomo Garabello
Asked: 2015-04-17 03:40:31 +0800 CST

Oracle 条件和

  • 0

看着这种代码,这个问题在我脑海中诞生:

select sum(value)
  into positive
  from my_table
 where value > 0;

 select sum(value)
  into negative
  from my_table
 where value < 0;

这适用于计算该表的总数。

但是,我的问题是如何my_table只使用一个语句来获得小计。

预期结果:

拥有这些数据my_table

VALUE
-----
  1.0
 -2.0
  3.0
 -4.0
  5.0
 -6.7
  8.9

我有一个 DML 语句可以给我这个输出

positive | negative
---------+---------
    17.9 |    -12.7

这种操作可行吗?如果是,我怎样才能得到它?

oracle dml
  • 1 个回答
  • 173 Views
Martin Hope
itzik Paz
Asked: 2015-01-29 04:08:42 +0800 CST

什么是更新表中列的查询

  • 1

我在表中有一列,我不知道是谁在更新它。

表名是dbo.Events列名是[Status]并且该列值是 1 或 2 。

我试图找到正在更新此列中的行的查询

我熟悉桌子

select * from sys.sql_modules m with(nolock);

还有其他选择吗?

谢谢

sql-server dml
  • 1 个回答
  • 452 Views
Martin Hope
kyooryu
Asked: 2013-05-08 06:24:10 +0800 CST

是否可以验证 DML 语句?

  • 1

假设我想从数据库中删除一个名为“abc cba”的用户。所以我运行以下查询:

DELETE FROM table WHERE fname = 'abc' AND last name = 'cba'; commit;

现在,可以有更多我不知道的这个名字的用户。显而易见的选择是事先运行 select 语句并检查我是否正在删除我真正想删除的内容,但我仍然是人,我可以忘记这一点并最终搜索备份以检索丢失的数据。

我的问题是:有没有办法对语句施加某些规则,之后它们将不会执行 DML 语句(例如,如果删除的行数超过某个阈值,则不执行删除)?

dml
  • 2 个回答
  • 753 Views
Martin Hope
kdis
Asked: 2012-11-08 08:49:07 +0800 CST

查找删除或更新记录

  • 7

最近几个月我发生了三起事件,其中表中的记录已被删除或整个表中的值更新为零。我们有一个由四人组成的团队,他们拥有权限并负责更新本可以执行此操作的数据库。令人失望的是,没有人承认进行了这些更改。

展望未来,我希望能够记录这些交易。我想知道其他人用什么来跟踪这些变化?他们是否使用跟踪更改的软件,或者您是否创建存储过程或跟踪文件?如果有人在他们的设施中设置了这个,我想知道他们使用什么。跟踪文件确实有我之后的信息,例如登录名机器号和 sql 语句,所以如果我提前设置它们,它会给我信息。

当这些更改发生时,我有数据库和事务日志的副本。我可以用这些旧文件做些什么来帮助追查罪魁祸首吗?提前感谢任何回复的人。我们使用的是 SQL Server 2005。

sql-server-2005 dml
  • 2 个回答
  • 2864 Views
Martin Hope
Wesley
Asked: 2012-02-08 19:59:40 +0800 CST

为什么 UPDATE SET REPLACE() 语句会匹配行,但没有更改并且不给出警告?

  • 9

我正在寻找一个字段中的某个字符串,并想用一个新字符串替换它。具体来说,我希望将对一个 URL 的所有引用更改为另一个 URL。我已经制作了这个 SQL 语句,并mysql>使用 MySQL Community Server 5.1.54 在 CentOS 5.5 上的提示符下运行它。

update [table] set [field] = REPLACE([field],'%domain.com%','%domain.org%');

回应是:

Query OK, 0 rows affected (0.02 sec)
Rows matched: 618  Changed: 0  Warnings: 0

我如何追查为什么没有进行任何更改?

编辑1:

感谢 Aaron Bertrand,我发现REPLACE()无法处理通配符并且我使用它完全错误(想想:缺少WHERE子句)。这是我修改后的声明:

UPDATE [table]
SET [column] =
REPLACE (
    [column],
    'companydomain.com',
    'companydomain.org' )
WHERE
    [column]
LIKE
    '%companydomain.com%';

我收到了旧的,熟悉的:

Query OK, 0 rows affected (0.02 sec)
Rows matched: 167  Changed: 0  Warnings: 0

我可能做错了什么?

编辑2:

我会告诉你我做错了什么!!我不是在质疑假设。我的假设是我要替换的字符串都是小写的。WHERE 子句返回所有看起来的东西LIKE %companydomain.com%。这包括所有大小写排列,例如 CompanyDomain.com、CoMpAnYdOmAiN.com 等。

它传递给REPLACE()它,然后严格寻找 companydomain.com,然后用 companydomain.org 替换它。

REPLACE (
    [column],
    'companydomain.com',
    'companydomain.org' )

所以我的记录当然会被退回,但没有任何东西被替换。一旦我更改REPLACE()为将大小写考虑在内,所有记录都已更新,看起来一切都很好。REPLACE()因此,我的场景的正确语法是:

REPLACE (
    [column],
    'CompanyDomain.com',
    'companydomain.org' )
mysql dml
  • 2 个回答
  • 17891 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve