小编Mat*_*Mat的帖子

使用带有外连接的 Have 子句

我想使用带有外连接的“具有”子句,使用外连接中使用的列。

这是我的查询:

SELECT
  I.CARD_BIN BIN
FROM 
  GE_ICA_BIN I
LEFT OUTER JOIN GE_PAYEE_VALIDATION P ON I.CARD_BIN = P.CARD_BIN
LEFT OUTER JOIN GE_PAYEE PP ON PP.PAYEE_CODE = P.PAYEE_CODE
ORDER BY I.CARD_BIN
HAVING COUNT(*) > 1;
Run Code Online (Sandbox Code Playgroud)

但这给了我这个错误:

ORA-00933: SQL command not properly ended
00933. 00000 -  "SQL command not properly ended"
*Cause:    
*Action:
Error at Line: 36 Column: 19
Run Code Online (Sandbox Code Playgroud)

第 36 行是ORDER BY I.CARD_BIN

有人可以告诉我如何解决这个问题吗?

oracle

1
推荐指数
1
解决办法
3769
查看次数

访问在触发器主体内触发触发器的插入语句

我有一些表,我已经启用了对这个表的审计。目前,我正在收集有关谁在何时插入记录的数据。现在我还想记录他/她用来插入记录的确切查询是什么。我创建了一个触发器,目前只记录用户和日期来审计数据收集表。这是触发器的代码:

create or replace trigger auditer
after insert on user01.sometab
for each row
insert into sys.auditlogs values(user,sysdate)
Run Code Online (Sandbox Code Playgroud)

如何使用相同的触发器访问插入语句并将该语句插入到审计表中?甚至有可能吗?

oracle

1
推荐指数
1
解决办法
221
查看次数

通过分区提高性能

我正在使用 SQL Server 2012。我正在使用 CTE 从项目表中创建一个订单表。订单表的最终计数约为 1.2 亿。整个过程大约需要2个小时。

对表进行分区是否有助于减少完成时间?

如果是这样,我可以按订单年份对空表进行分区,然后从 CTE 插入到订单表中吗?或者我是否需要在 items 表上创建一个分区,因为 CTE 是从 items 表中汇总的?

此外,我估计的行数与实际行数有很大不同。

performance sql-server partitioning sql-server-2012

1
推荐指数
1
解决办法
2713
查看次数

格式化函数返回分钟而不是几个月?

在探索新功能时,FORMAT我遇到了以下问题,想知道是否有其他人遇到过类似的问题并找到了解决方案,或者它是否是一个错误?

SELECT FORMAT(GETDATE(),'mm/dd/yyyy','en-US');
SELECT GETDATE();
Run Code Online (Sandbox Code Playgroud)

输出:

  1. 02/02/2013
  2. 2013-06-02 12:02:54.067

sql-server sql-server-2012

1
推荐指数
1
解决办法
495
查看次数

涉及 XML 列的两个类似查询的相对成本

我有两个查询,如下所示,它们做同样的事情。这xmlcolumn是一个数据类型为 XML 的列。我使用这些查询在 XML 列中的任何位置搜索字符串。

我检查了这两个查询的执行计划,发现第一个查询的 I/O 成本和子树成本低于第二个。我原以为第一个会在使用cast和 时具有更高的成本charindex,但事实并非如此。

为什么它的成本更低?

第一个查询:

SELECT * 
FROM mytable
WHERE ( Charindex('abc',CAST([xmlcolumn] AS VARCHAR(MAX)))>0 ) 
Run Code Online (Sandbox Code Playgroud)

第二个查询:

SELECT * 
FROM mytable t1
WHERE t1.[xmlcolumn].exist('//*/text()[contains(.,"abc")]')=1
Run Code Online (Sandbox Code Playgroud)

performance sql-server-2008 xml execution-plan

1
推荐指数
1
解决办法
359
查看次数

如何将数据从数据库卸载到平面文件?

我知道批量插入的概念,其中我将数据从平面文件加载到数据库。

现在我想将表中的数据卸载到平面文件,即我想将表中的数据导出到平面文件。谁能告诉我如何做到这一点?

我正在使用 SQL Server 2008 R2。

sql-server sql-server-2008-r2

1
推荐指数
1
解决办法
6414
查看次数

被锁定在 PostgreSQL 数据库之外

由于诸如 PostgreSQL(和 PostGIS)之类的重量级数据库的安全功能,我最大的恐惧之一是被锁定在我自己的数据之外。虽然我可以以管理员身份登录,但我想正确地做事并创建具有定义角色的用户。不幸的是,在我的初步测试中,我从未能够让它可靠地工作。我显然不理解 pgAdmin III 管理的 PostgreSQL 安全模型。
问题:

  1. 是否有在 PostgreSQL 中设置角色和用户的简单指南?
  2. 在丢失密码的情况下可以恢复数据吗?
  3. PostgreSQL 可以像 ms-access 一样在关闭安全性的情况下使用吗?
  4. 在 PostgreSQL 安全模型中,用户是在服务器级别创建的,并且可以在服务器中列出的每个数据库中分配不同的角色?
  5. 创建用户和角色有技巧吗(见下文)?

在 ms-access 中,如果创建了一个名为 'ted' 的用户并提供了密码,然后被删除,然后重新创建了一个名为 'ted' 的用户。第一个 ted 和第二个 ted 不一样。除了可见名称之外,还有一个隐藏的唯一代码,每次创建用户时都会生成该代码。这使得无法重新创建已删除的用户。我只是想知道 PostgreSQL 是否有这样的隐藏逻辑,可以欺骗新用户。

我遇到的关键问题是,当我通过 PgAdmin III 为特定数据库上的用户定义权限时,我无法使用 QGIS 中的用户名和密码连接到数据库。

目前,我正在使用 SpatialLite 来避免这个问题。

postgresql

1
推荐指数
1
解决办法
4074
查看次数

LDF 文件中的日志是否在检查点后被删除?

使用fn_dblog我可以获得我的数据库的在线事务日志的活动部分。

但是在每个检查点之后,我只能看到 2 个条目显示检查点的开始和检查点LOP_BEGIN_CKPT的结束LOP_END_CKPT

我想知道之前的日志是在每个检查点之后删除还是只是因为dbi_checkptLSN位于引导页面中的值指示最新的 LSN而被忽略?

如果dbi_checkptLSN是我能够移动该指标的结果,如果是,如何移动?

如果没有,并且没有删除日志,我如何访问以前的日志?

sql-server checkpoint

1
推荐指数
1
解决办法
935
查看次数

创建表空间时出现“无效选项”

有人可以告诉我这个语法有什么问题吗:

CREATE TABLESPACE ACME_DATA
DATAFILE '/oracle/d02/acme/ACME_DATA_01.dbf'
SIZE 40M
EXTENT MANAGEMENT LOCAL
AUTOEXTEND ON NEXT 2M
MAXSIZE 100M
UNIFORM SIZE 128KB
SEGMENT SPACE MANAGEMENT AUTO;
Run Code Online (Sandbox Code Playgroud)

错误报告:

SQL Error: ORA-02180: invalid option for CREATE TABLESPACE
02180. 00000 -  "invalid option for CREATE TABLESPACE"
Run Code Online (Sandbox Code Playgroud)

oracle

1
推荐指数
1
解决办法
2万
查看次数

为什么 MySQL 服务器软件如此庞大?

为什么 MySQL 服务器软件比 SQLite 更大(大小)?是什么让它这么大?不只是一些用于保存表格及其条目的网络协议和代码吗?

SQLite 与 MySQL 使用相同的语言,只有 300kb 的库,但 MySQL Server 的大小约为 600mb。

mysql

1
推荐指数
1
解决办法
2586
查看次数