小编a_h*_*ame的帖子

将行从一个表移动到另一个表

作为存档过程的一部分,我正在将记录从一个数据库移动到另一个数据库。我想将行复制到目标表,然后从源表中删除相同的行。

我的问题是,在删除行之前检查第一次插入是否成功的最有效方法是什么。

我的想法是这样,但我觉得有更好的方法:

@num_records=select count(ID) from Source_Table where (criteria for eligible rows)

insert * into Destination_Table where (criteria for eligible rows)

if ((select count(ID) from Destination_Table where (criteria) )=@numrecords)

delete * from Source_Table where (criteria)
Run Code Online (Sandbox Code Playgroud)

将它与 RAISERROR 功能结合是否更好/可能?谢谢!

sql-server-2012

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

DBeaver 从文件启动脚本

我试图找到一个很好的替代 SQL Developer 来在 Oracle 实例上执行查询和脚本。

我发现DBeaver是一个有趣的工具,它有很多很棒的功能,它似乎缺少一个基本要素:以类似批处理的方式从客户端机器的文件系统启动脚本的可能性。

例如,在 SQL Developer 中,我简单地放置了一个名为delta_script.sql的文件,其中包含:

@script1.sql
@script2.sql
@script3.sql
Run Code Online (Sandbox Code Playgroud)

我将它作为脚本执行,软件以正确的顺序执行所有文件(前提是它们与 delta_script.sql 文件位于同一目录中)。

在 DBeaver 上,这不会发生,而是得到[900] ORA-00900:无效的 SQL 语句。.

我怎样才能管理它按预期工作?

我在 delta_script.sql 文件中尝试了以下内容,但没有成功:

  • @@scriptN.sql
  • @/tmp/folder/scriptN.sql
  • @"/tmp/folder/scriptN.sql"
  • @"scriptN.sql"

他们都给出了同样的错误,所以我认为“@”有问题。我已经在 SQLPlus 中尝试使用我在 SQL Developer 上使用的 synthax 没有错误。

oracle dbeaver

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

如何在 Postgres 的表中的列中添加注释?

我是 Postgres 的新手。我想mod在名为的表中向我的列添加评论app-user-bookings

我试过这个sql代码:

alter table app_user_bookings
modify column mod 
int default 1 
comment "1# mobile booking,    2# admin booking,    3# web booking, 4# tell call";
Run Code Online (Sandbox Code Playgroud)

但这对我没有帮助,有人可以帮助我吗?

postgresql metadata

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

SSRS 很快就会灭绝,PowerBI 会成为新模式吗?

我读到 SQL Server 2017 现在将包含 PowerBI Server。他们还将 SSRS 移动到不同的安装程序,因此它不会打包在原始 SQL Server 安装中。这是否意味着微软最终会尝试弃用 SSRS?我们的团队是否应该尝试在 PowerBI 中构建新报告并转换以前的 SSRS 报告?

sql-server ssrs business-intelligence powerbi sql-server-2017

9
推荐指数
2
解决办法
4511
查看次数

Postgresql 10 没有与 ON CONFLICT 规范匹配的唯一或排除约束

我目前有一个看起来像这样的表:

CREATE TABLE "PDPC".collection
(
    col_no bigint NOT NULL DEFAULT nextval('"PDPC".collection_col_no_seq'::regclass),
    q1 character varying(10000) COLLATE pg_catalog."default",
    q2 character varying(10000) COLLATE pg_catalog."default",
    q3 character varying(10000) COLLATE pg_catalog."default",
    q4 character varying(10000) COLLATE pg_catalog."default",
    dg_fkey bigint,
    CONSTRAINT collection_pkey PRIMARY KEY (col_no),
    CONSTRAINT collection_dg_fkey_fkey FOREIGN KEY (dg_fkey)
        REFERENCES "PDPC".datagroup (dg_no) MATCH SIMPLE
        ON UPDATE NO ACTION
        ON DELETE NO ACTION
)
WITH (
    OIDS = FALSE
)
TABLESPACE pg_default;

ALTER TABLE "PDPC".collection
    OWNER to postgres;
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用 postgresql 在 PHP 中执行 UPSERT 语句,但我收到了

致命错误:未捕获的 PDOException:SQLSTATE[42P10]:无效的列引用:7 …

postgresql foreign-key insert update

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

postgresql 的高可用性

我是 PostgreSQL 数据库的新手。最近我们的开发人员需要对我们的系统进行一些升级。

因此,我们计划实施一些方法来实现数据库故障转移。

根据我在此处阅读 postgresql wiki ,我们正在尝试实现热备用或热备用。所以我的问题是:

  1. 它们之间的主要区别是什么?
  2. 哪一个更好?
  3. 有没有其他方法可以考虑在我们的 Postgres 数据库中实现高可用性?

postgresql linux high-availability

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

将不同的字符集导出转储导入另一个数据库实例

我正在尝试使用 oracle imp 实用程序导入给定的转储文件。然而; 我面临以下问题。

C:\Users\AD>imp DB_USER/*****@dev1 file=C:\test\db42312.dmp log=C:\test\import2.log

Import: Release 11.2.0.1.0 - Production on Thu Apr 10 13:37:47 2014

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.


Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

IMP-00038: Could not convert to environment character set's handle
IMP-00000: Import terminated unsuccessfully

C:\Users\AD>
Run Code Online (Sandbox Code Playgroud)

我的源数据库为 NLS 查询生成以下结果

SQL> select * from v$nls_parameters where parameter in ('NLS_CHARACTERSET','NLS_LANGUAGE');

PARAMETER …
Run Code Online (Sandbox Code Playgroud)

oracle import

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

组角色和登录角色有什么区别?

看起来对于单个用户,我应该创建一个登录角色而不是相应的组角色,因为我无法直接为登录角色分配权限。这是真的吗?这种分离的目的是什么?

此外,据我所知,只能使用login role进行身份验证。那么组角色中密码字段的目的是什么?或者可以作为组角色进行身份验证?那么为什么有人需要登录角色呢?

看起来我也可以在 pg_hba 中设置登录和组角色。

postgresql security

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

如何在 Postgres 9.3 上安装/启用 uuid-ossp 扩展?

我在 Ubuntu Linux 14.04 上使用 Postgres 9.3。如何安装/启用 uuid-ossp 扩展?我首先验证了 contrib 包是否已安装……

root@prodbox:/home/rails/myproject# apt-get install postgresql-contrib
Reading package lists... Done
Building dependency tree       
Reading state information... Done
postgresql-contrib is already the newest version.
Run Code Online (Sandbox Code Playgroud)

然后我登录并尝试创建扩展...

root@prodbox:/home/rails/myproject# su - postgres
postgres@prodbox:~$ psql
psql (9.6.0, server 9.3.11)
Type "help" for help.

postgres=# CREATE EXTENSION "uuid-ossp";
ERROR:  could not open extension control file "/usr/share/postgresql/9.3/extension/uuid-ossp.control": No such file or directory
Run Code Online (Sandbox Code Playgroud)

我都没有想法了。我错过了什么?

postgresql postgresql-9.3 uuid postgresql-extensions

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

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