小编a_h*_*ame的帖子

如何在PostgreSQL中向现有表添加自动递增主键?

我有一张包含现有数据的表格.有没有办法添加主键而不删除并重新创建表?

postgresql primary-key auto-increment

177
推荐指数
4
解决办法
13万
查看次数

我何时需要在Oracle SQL中使用分号与斜杠?

我们本周在我的公司一直在讨论如何编写SQL脚本.

背景:我们的数据库是Oracle 10g(很快升级到11).我们的DBA团队使用SQLPlus将脚本部署到生产环境.

现在,我们最近部署失败,因为它使用了分号和正斜杠(/).分号在每个语句的末尾,斜杠在语句之间.

alter table foo.bar drop constraint bar1;
/
alter table foo.can drop constraint can1;
/
Run Code Online (Sandbox Code Playgroud)

稍后在脚本中添加了一些触发器,创建了一些视图以及一些存储过程.同时具有;/导致每个语句运行两次导致错误(尤其是在插入,是唯一的,其需要).

在SQL Developer中,这不会发生,在TOAD中这不会发生.如果你运行某些命令,如果没有它们,它们将无法工作/.

在PL/SQL中,如果你有子程序(DECLARE,BEGIN,END),使用的分号将被视为子程序的一部分,因此你必须使用斜杠.

所以我的问题是:如果您的数据库是Oracle,那么编写SQL脚本的正确方法是什么?既然你知道你的数据库是Oracle应该总是使用/

sql oracle

170
推荐指数
5
解决办法
12万
查看次数

如何更新SQL Server中的标识列?

我有SQL Server数据库,我想更改标识列,因为它从一个大数字开始,10010它与另一个表相关,现在我有200条记录,我想在记录增加之前解决这个问题.

更改或重置此列的最佳方法是什么?

t-sql sql-server-2008

165
推荐指数
9
解决办法
42万
查看次数

为什么只有这个Windows批处理文件的第一行执行但所有三行都在命令shell中执行?

我有一个批处理文件,一个接一个地执行三个Maven命令.每个命令都可以在脚本中成功执行 - 本身!但是当我将所有三个命令添加到同一个文件时,只有第一个命令在脚本退出之前执行.知道为什么吗?

mvn install:install-file -DgroupId=gdata -DartifactId=base -Dversion=1.0 -Dfile=gdata-base-1.0.jar  -Dpackaging=jar -DgeneratePom=true
mvn install:install-file -DgroupId=gdata -DartifactId=blogger -Dversion=2.0 -Dfile=gdata-blogger-2.0.jar  -Dpackaging=jar -DgeneratePom=true
mvn install:install-file -DgroupId=gdata -DartifactId=blogger-meta -Dversion=2.0 -Dfile=gdata-blogger-meta-2.0.jar  -Dpackaging=jar -DgeneratePom=true
Run Code Online (Sandbox Code Playgroud)

此外,如果我复制所有三个命令并将它们粘贴到命令shell(cmd.exe)中,它们会一个接一个地执行,没有任何问题.所以这显然是dos批处理文件的一些问题.

windows cmd batch-file windows-7

163
推荐指数
3
解决办法
9万
查看次数

不能简单地使用PostgreSQL表名("关系不存在")

我正在尝试运行以下PHP脚本来执行简单的数据库查询:

$db_host = "localhost";
$db_name = "showfinder";
$username = "user";
$password = "password";
$dbconn = pg_connect("host=$db_host dbname=$db_name user=$username password=$password")
    or die('Could not connect: ' . pg_last_error());

$query = 'SELECT * FROM sf_bands LIMIT 10';
$result = pg_query($query) or die('Query failed: ' . pg_last_error());
Run Code Online (Sandbox Code Playgroud)

这会产生以下错误:

查询失败:错误:关系"sf_bands"不存在

在所有的例子中,我可以找到有人得到错误的地方,说明关系不存在,这是因为他们在表名中使用大写字母.我的表名没有大写字母.有没有办法查询我的表而不包括数据库名称,即showfinder.sf_bands

php sql postgresql quoted-identifier

157
推荐指数
8
解决办法
32万
查看次数

Postgres手动改变序列

我正在尝试将序列设置为特定值.

SELECT setval('payments_id_seq'), 21, true
Run Code Online (Sandbox Code Playgroud)

这给出了一个错误:

ERROR: function setval(unknown) does not exist

使用ALTER SEQUENCE似乎也不起作用?

ALTER SEQUENCE payments_id_seq LASTVALUE 22
Run Code Online (Sandbox Code Playgroud)

如何才能做到这一点?

参考:https://www.postgresql.org/docs/current/static/functions-sequence.html

postgresql database-sequence

149
推荐指数
5
解决办法
14万
查看次数

如何更改PostgreSQL表并使列唯一?

我在PostgreSQL中有一个表,其中的模式如下所示:

CREATE TABLE "foo_table" (
    "id" serial NOT NULL PRIMARY KEY,
    "permalink" varchar(200) NOT NULL,
    "text" varchar(512) NOT NULL,
    "timestamp" timestamp with time zone NOT NULL
)
Run Code Online (Sandbox Code Playgroud)

现在,我希望通过ALTER-ing表使表中的固定链接唯一.任何人都可以帮我吗?

TIA

sql postgresql unique-constraint

145
推荐指数
4
解决办法
11万
查看次数

CALL命令与START with/WAIT选项

如何使用WAIT选项的START命令

START /wait notepad.exe 
START /wait  notepad.exe 
Run Code Online (Sandbox Code Playgroud)

...与使用CALL命令有什么不同?

CALL notepad.exe 
CALL notepad.exe 
Run Code Online (Sandbox Code Playgroud)

是否存在一种情况,其中一种可能表现不同,另一种情况取决于正在执行的内容?

windows batch-file

133
推荐指数
5
解决办法
44万
查看次数

SQL Server中的DECIMAL和NUMERIC有什么区别吗?

SQL Server中的DECIMAL和NUMERIC数据类型有什么区别吗?

什么时候应该使用DECIMAL和NUMERIC?

sql-server sqldatatypes

122
推荐指数
3
解决办法
12万
查看次数

LATERAL和PostgreSQL中的子查询有什么区别?

由于Postgres能够进行LATERAL连接,我一直在阅读它,因为我目前为我的团队执行复杂的数据转储,其中包含大量低效的子查询,这使得整个查询需要四分钟或更长时间.

我知道LATERAL联接可能能够帮助我,但即使在阅读了像Heap Analytics 这样的文章之后,我仍然没有完全遵循.

LATERAL加入的用例是什么?LATERAL连接和子查询之间有什么区别?

sql postgresql subquery lateral-join

119
推荐指数
5
解决办法
7万
查看次数