数据库管理员

希望提高数据库技能并向社区中的其他人学习的数据库专业人员的问答

4
MySQL-修改表以自动放入UUID
好的,我知道我以前做过。但是我无法为自己的生活弄清楚。我创建了一张桌子。列之一标记为“ LogID”,它也是主键。 如何更改它,以便此列为每个新条目生成一个UUID? 谢谢
14 mysql 

2
我应该在添加主键之前还是之后添加页面级压缩?
情况 Sql Server 2008 Enterprise上的数据仓库 36+百万行堆(不要问),具有60+列 每月增加750k 未定义主键(我现在已经确定了一个) 无压缩 我正在考虑做的事情(按此顺序) 添加页面级压缩 添加PK 添加许多非聚集索引 尽快这样做 题 最终:我要先添加PK还是页面压缩?(有关系吗?) 如果我先将压缩添加到表,那么任何索引都将继承表级压缩设置吗?dba.stackexchange上的此问题的答案是“否,压缩不继承”。 我目前偏向的目标 -- Add page level compression alter table dbo.TableName rebuild with (data_compression = page) ; go -- Add primary key alter table dbo.TableName add constraint PK_TableName primary key clustered (<Columns>) ; go -- …

3
如何在仅具有IDENTITY列的表中插入?
给定只有IDENTITY列的表,您如何插入新行?我尝试了以下方法: INSERT INTO TABLE (Syntax error) INSERT INTO TABLE VALUES() (Syntax error) INSERT INTO TABLE (Id) VALUES() (Syntax error) 我正在测试某些东西,只需要IDENTITY列。它不是用于生产。否则,这样的表可以用作序列生成器,而无需其他列。


2
为什么CTE应该以分号开头?
我只是在看StackOverflow上的一篇文章,其中Aaron Bertrand建议使用CTE代替数字表,这是一种执行手头任务的优雅方法。我的问题是,为什么CTE的第一行以分号开头? ;WITH n AS (SELECT TOP (10000) n FROM (SELECT n = ROW_NUMBER() OVER (ORDER BY s1.[object_id]) FROM sys.all_objects AS s1 CROSS JOIN sys.all_objects AS s2 ) AS x ORDER BY n ) SELECT n FROM n ORDER BY n; -- look ma, no gaps! 这是为了确保WITH语句不会被解析为先前的内容SELECT或其他内容?我在SQL Server 2005 BOL中看不到有关在WITH之前使用分号的任何信息。
14 sql-server  t-sql  cte  syntax 


2
数据库引擎到底是什么?
我已经仔细阅读了http://en.wikipedia.org/wiki/Database_engine上的定义: 数据库引擎(或“存储引擎”)是数据库管理系统(DBMS)用于从数据库创建,读取,更新和删除(CRUD)数据的基础软件组件。 我不明白的是剩下要做的事情,难道不是CRUD数据库所能做的全部吗? 如果数据库引擎执行这些功能,那么数据库的其余部分会做什么?

3
如何在PL / pgSQL中返回多行记录
我正在尝试使用RECORD数据类型返回多个记录,有没有一种方法可以追加到RECORD并在每次迭代中向此RECORD添加/附加新值。 也就是说,我想附加到,rec以便rec在循环结束时成为一组行,我可以在函数末尾返回。目前,我正在这样做- SELECT temp_table.col1, temp_table.col2, temp_table.col3 INTO rec FROM temp_table WHERE temp_table.col3 = false; 我的完整代码在这里: CREATE OR REPLACE FUNCTION validation() RETURNS RECORD AS $$ DECLARE rec RECORD; temp_row RECORD; BEGIN CREATE TEMPORARY TABLE temp_table (col1 TEXT, col2 INTEGER, col3 BOOLEAN) ON COMMIT DROP; FOR temp_row IN SELECT * FROM staging.validation …

1
如何在PostgreSQL中存储一字节整数?
在PostgreSQL文档中,据说整数数据类型可以存储在2字节,4字节或8字节的空间中。数据库中表的一列包含一个一字节的整数值,我希望将其存储为一字节的数据类型。 在PostgreSQL中是否有扩展或使用一字节整数数据类型的方法? NUMERIC(1,0)是多少个字节?

2
有多种情况的情况
我需要根据几种条件从select语句更改返回值。我尝试过这样的事情: ,CASE i.DocValue WHEN 'F2' AND c.CondCode IN ('ZPR0','ZT10','Z305') THEN c.CondVal ELSE 0 END as Value 为什么它不起作用?推荐的方法是什么?接下来将有几个WHEN条件。 谢谢
14 sql-server 


3
MySQL:读取通信数据包时出错
我在mysql中收到此警告, [Warning] Aborted connection 21 to db: 'MyDB' user: 'MyUser' host: 'localhost' (Got an error reading communication packets) 我已经浏览过Google的几个主题,并且根据一些建议,我max_allowed_packet从128 to 512 to 1024相同的行为中增加了兴趣。 我使用的Drupal 7,和是有很多BLOB数据类型的,但1024 Mb的max_allowed_packet应该是足够的在我看来。 任何其他解决方法如何克服此警告? 编辑: 添加了一些设置作为@Rolando的建议/答案,我仍然收到相同的警告。 我的mysql配置看起来像这样: [client] port = 3306 socket = /tmp/mysql.sock default-character-set = utf8 [mysqld] port = 3306 socket = /tmp/mysql.sock skip-external-locking key_buffer_size = …
14 mysql  innodb 

2
Varchar的行为,末尾有空格
当我将Varchar与空格一起使用时,它最后会忽略空格。 例如: declare @X varchar(50) 这个... set @X= 'John' ...是相同的... set @X= 'John ' 它认为这些是相等的。如何使系统将它们识别为不同的?

7
如何检查Oracle数据库是否启动?
对于我们的应用程序,我们有一个用于连接到Oracle数据库的配置文件(URL,用户名,密码)。 该应用程序需要2-5分钟才能启动。如果数据库有问题,我会在日志中看到此错误,但是我必须等待2-5分钟。这是很多时间。 因此,我想快速简单地找到一种确定数据库是否正常且在线的方法。 你知道我该怎么做吗?
14 oracle 

2
计数子查询中的行
简单:我想计算子查询的行数。请注意,状态是主机是否在线。 错误的代码 SELECT COUNT(ip_address) FROM `ports` ( SELECT DISTINCT ip_address FROM `ports` WHERE status IS TRUE ) 解释 第一个查询单独运行时返回以下内容: SELECT DISTINCT ip_address FROM `ports` WHERE status IS TRUE ip_address 192.168.1.1 192.168.1.2 192.168.1.248 192.168.1.251 192.168.1.254 单独运行的第二个查询返回以下内容: SELECT COUNT(ip_address) FROM `ports` 17 题 我想知道如何计算5个IP地址的列表。 我一直在网上寻找这个简单问题的可能解决方案,并且感到沮丧,所以我想请专家们。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.