小编Mat*_*Mat的帖子

数据库与用户与架构之间的区别

我真的对术语数据库、用户和模式感到困惑。谁能解释一下它们之间的区别(如果是的话)?

如果它们相同,那么它们之间有什么相似之处?我们如何使用它们?我们如何创建它们?

schema oracle users

98
推荐指数
4
解决办法
25万
查看次数

重新索引会更新统计信息吗?

上周我一直在做 MS10775A 课程,出现了一个培训师无法可靠回答的问题是:

重新索引会更新统计信息吗?

我们发现网上的讨论都在争论它有没有。

index sql-server statistics index-tuning sql-server-2012

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

条件中的逻辑运算符 OR AND 和 WHERE 中的条件顺序

让我们检查这两个语句:

IF (CONDITION 1) OR (CONDITION 2)
...

IF (CONDITION 3) AND (CONDITION 4)
...
Run Code Online (Sandbox Code Playgroud)

如果CONDITION 1TRUE,会CONDITION 2被检查吗?
如果CONDITION 3FALSE,会CONDITION 4被检查吗?

条件如何WHERE:SQL Server 引擎是否优化WHERE子句中的所有条件?程序员是否应该以正确的顺序放置条件以确保 SQL Server 优化器以正确的方式解析它?

添加:

感谢 Jack 提供链接,来自 t-sql 代码的惊喜:

IF  1/0 = 1 OR 1 = 1
      SELECT 'True' AS result
ELSE
      SELECT 'False' AS result


IF  1/0 = 1 AND 1 = 0
      SELECT 'True' …
Run Code Online (Sandbox Code Playgroud)

sql-server-2008 sql-server optimization t-sql condition

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

如何判断一个Oracle表是否被锁定?

我们一直在使用安装在 Oracle Enterprise 11gR2 上的 BI 软件和存储库数据库。

其中一些批处理报告将尝试访问可能仍被锁定的数据库表。如何确定 Oracle 表是否已锁定?是否有任何 SQL 语句显示像历史详细信息以供分析?

oracle-11g-r2 business-intelligence locking

34
推荐指数
3
解决办法
58万
查看次数

该登录名已有一个不同用户名的帐户

当我执行此 SQL 时:

USE ASPState
GO
IF NOT EXISTS(SELECT * FROM sys.sysusers WHERE NAME = 'R2Server\AAOUser')
CREATE USER [R2Server\AAOUser] FOR LOGIN [R2Server\AAOUser];
GO
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

该登录名已有一个使用不同用户名的帐户。

我怎么知道我的登录帐户的这个不同的用户名是什么?

security sql-server logins

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

是否可以将一列设为只读?

我很好奇是否可以创建一个包含永远无法更改的列的表,但该表的其他列可以。

例如,我可以想象一个CreatedByUser永远不应更改的列。

SQL Server 中是否有为此提供内置功能,还是只能通过触发器或其他方式实现?

sql-server

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

防止 PostgreSQL 在 Ubuntu 中启动时启动

我使用的是 PostgreSQL 9.2,当我启动系统 (Kubuntu) 时它会自动运行。

我怎样才能避免这种情况?

我需要手动启动它,我不希望它在无人看管的情况下启动,因为我需要查看控制台。

postgresql ubuntu

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

SQL Server 中的“No Join Predicate”究竟是什么意思?

MSDN“缺少连接谓词事件类”表示“表示正在执行没有连接谓词的查询”。

但不幸的是,这似乎并不那么容易。

例如,非常简单的情况:

create table #temp1(i int);
create table #temp2(i int);
Select * from #temp1, #temp2 option (recompile);
Run Code Online (Sandbox Code Playgroud)

表中没有数据,也没有警告,尽管它显然没有连接谓词。

如果我查看 SQL Server 2005 的文档(相同的链接,只是其他服务器版本),会有一句额外的句子:“仅当连接的双方返回多于一行时才会产生此事件。 ”这将使在以前的情况下完美的感觉。没有数据,所以双方都返回0行,没有警告。插入行,得到警告。嗯不错。

但是对于下一个令人困惑的情况,我在两个表中插入相同的值:

Insert into #temp1 (i) values (1)
Insert into #temp1 (i) values (1)
Insert into #temp2 (i) values (1)
Insert into #temp2 (i) values (1)
Run Code Online (Sandbox Code Playgroud)

我得到:

-- no warning:
Select * from #temp1 t1 
    inner join #temp2 t2 on t1.i = t2.i 
option (recompile)
-- has warning:
Select * from …
Run Code Online (Sandbox Code Playgroud)

sql-server-2005 sql-server-2008 t-sql

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

选择中仍然匹配额外字符的唯一标识符

我们正在使用带有唯一标识符的 SQL Server 2012,我们注意到在执行选择时在末尾添加了额外的字符(所以不是 36 个字符),它仍然返回与 UUID 的匹配项。

例如:

select * from some_table where uuid = '7DA26ECB-D599-4469-91D4-F9136EC0B4E8' 
Run Code Online (Sandbox Code Playgroud)

返回带有 uuid 的行7DA26ECB-D599-4469-91D4-F9136EC0B4E8

但是如果你运行:

select * from some_table where uuid = '7DA26ECB-D599-4469-91D4-F9136EC0B4E8EXTRACHARS'
Run Code Online (Sandbox Code Playgroud)

它还返回带有 uuid 的行7DA26ECB-D599-4469-91D4-F9136EC0B4E8

SQL Server 在进行选择时似乎忽略了 36 以外的所有字符。这是错误/功能还是可以配置的东西?

这不是一个大问题,因为我们在前端验证了长度,但对我来说这似乎不是正确的行为。

sql-server t-sql sql-server-2012

18
推荐指数
3
解决办法
9743
查看次数

Mysqldump 表不包括某些字段

有没有办法 mysqldump 没有某些字段的表?

让我解释一下:
我有一个名为tests. 在tests我有 3 个表:USER,TOTOTATA. 我只是想mysqldump的表的一些领域USER,因此不包括像一些领域mailip_login等等。

我怎样才能做到这一点?

mysql mysqldump

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