小编a_h*_*ame的帖子

获取Oracle中所有表的列表?

如何查询Oracle数据库以显示其中所有表的名称?

sql oracle

1073
推荐指数
14
解决办法
211万
查看次数

在PostgreSQL中重复更新时插入?

几个月前,我从Stack Overflow的答案中学到了如何使用以下语法在MySQL中一次执行多个更新:

INSERT INTO table (id, field, field2) VALUES (1, A, X), (2, B, Y), (3, C, Z)
ON DUPLICATE KEY UPDATE field=VALUES(Col1), field2=VALUES(Col2);
Run Code Online (Sandbox Code Playgroud)

我现在切换到PostgreSQL,显然这是不正确的.它指的是所有正确的表,所以我认为这是使用不同关键字的问题,但我不确定PostgreSQL文档中的哪个被覆盖.

为了澄清,我想插入几个东西,如果它们已经存在则更新它们.

sql postgresql upsert sql-merge

611
推荐指数
15
解决办法
40万
查看次数

如何在postgres不同步时重置postgres的主键序列?

我遇到了我的主键序列与我的表行不同步的问题.

也就是说,当我插入一个新行时,我得到一个重复的键错误,因为串行数据类型中隐含的序列返回一个已经存在的数字.

这似乎是由导入/恢复不能正确维护序列引起的.

postgresql primary-key database-sequence

482
推荐指数
17
解决办法
23万
查看次数

在PostgreSQL中插入带单引号的文本

我有一张桌子test(id,name).

我需要插入样值: user's log,'my user',customer's.

 insert into test values (1,'user's log');
 insert into test values (2,''my users'');
 insert into test values (3,'customer's');
Run Code Online (Sandbox Code Playgroud)

如果我运行上述任何语句,我会收到错误.

如果有任何方法可以正确地做到这一点请分享.我不想要任何准备好的陈述.

是否可以使用sql转义机制?

postgresql quotes insert special-characters

377
推荐指数
5
解决办法
32万
查看次数

如何在Postgres中找到所有表的行数

我正在寻找一种方法来查找Postgres中所有表的行数.我知道我可以一次做一张桌子:

SELECT count(*) FROM table_name;
Run Code Online (Sandbox Code Playgroud)

但我希望看到所有表格的行数,然后按顺序排列,以了解我所有表格的大小.

postgresql count database-table

362
推荐指数
13
解决办法
28万
查看次数

在SQL 2005/2008中获取星期几

如果我有一个日期01/01/2009,我想知道它是什么日子,例如周一,周二等...

SQL 2005/2008中是否有内置函数?或者我需要使用辅助表吗?

sql sql-server datetime

349
推荐指数
6
解决办法
70万
查看次数

在Microsoft SQL Server 2005中模拟group_concat MySQL函数?

我正在尝试将基于MySQL的应用程序迁移到Microsoft SQL Server 2005(不是选择,而是生活).

在原始应用程序中,我们几乎完全使用符合ANSI-SQL的语句,但有一个重要的例外 - 我们group_concat经常使用MySQL的函数.

group_concat顺便说一下,这样做:给出一张表,比如说,员工姓名和项目......

SELECT empName, projID FROM project_members;
Run Code Online (Sandbox Code Playgroud)

收益:

ANDY   |  A100
ANDY   |  B391
ANDY   |  X010
TOM    |  A100
TOM    |  A510
Run Code Online (Sandbox Code Playgroud)

...这是你用group_concat得到的:

SELECT 
    empName, group_concat(projID SEPARATOR ' / ') 
FROM 
    project_members 
GROUP BY 
    empName;
Run Code Online (Sandbox Code Playgroud)

收益:

ANDY   |  A100 / B391 / X010
TOM    |  A100 / A510
Run Code Online (Sandbox Code Playgroud)

所以我想知道的是:是否有可能在SQL Server中编写用户定义的函数来模拟其功能group_concat

我几乎没有使用UDF,存储过程或类似的东西的经验,只是直接的SQL,所以请错误地说太多的解释:)

sql sql-server sql-server-2005 string-aggregation

342
推荐指数
9
解决办法
17万
查看次数

SQL Server:PARTITION BY和GROUP BY之间的区别

多年来GROUP BY,我一直在使用所有类型的聚合查询.最近,我一直在反向设计一些PARTITION BY用于执行聚合的代码.在阅读我能找到的所有文档时PARTITION BY,听起来很像GROUP BY,可能还添加了一些额外的功能?它们是相同通用功能的两个版本,还是它们完全不同?

t-sql sql-server aggregate-functions window-functions

338
推荐指数
8
解决办法
59万
查看次数

如何通过'查询连接PostgreSQL'组中的字符串字段的字符串?

我正在寻找一种通过查询连接组内字段的字符串的方法.例如,我有一张桌子:

ID   COMPANY_ID   EMPLOYEE
1    1            Anna
2    1            Bill
3    2            Carol
4    2            Dave
Run Code Online (Sandbox Code Playgroud)

我想通过company_id分组得到类似的东西:

COMPANY_ID   EMPLOYEE
1            Anna, Bill
2            Carol, Dave
Run Code Online (Sandbox Code Playgroud)

mySQL中有一个内置函数来执行这个group_concat

sql postgresql group-by string-aggregation

329
推荐指数
9
解决办法
30万
查看次数

Postgres DB Size命令

是否有任何命令可以在Postgres中找到所有数据库大小?

我可以使用以下命令找到特定数据库的大小:

select pg_database_size('databaseName');
Run Code Online (Sandbox Code Playgroud)

sql postgresql postgresql-9.2

294
推荐指数
9
解决办法
20万
查看次数