我正在使用PostgreSQL,我试图将表中具有特定列的所有表列为外键/引用.可以这样做吗?我确定这些信息存储在某个地方,information_schema但我不知道如何开始查询它.
序号位置表示法(AKA序号)是基于SELECT子句列中列顺序的列速记,而不是列名称或列别名.在该ORDER BY子句中通常支持,一些数据库(MySQL 3.23 +,PostgreSQL 8.0+)也支持该GROUP BY子句的语法.
以下是使用Ordinals的示例:
GROUP BY 1, 2
ORDER BY 1, 2
Run Code Online (Sandbox Code Playgroud)
使用它并不好,因为它会使查询变得脆弱 - 如果列顺序发生变化,则需要更新序数,否则您的查询将不会返回您的想法.很可能,GROUP BY如果在这些位置的列包含在聚合中,则会出现错误...
我能想到的唯一好处是通过网络发送的数据更少,如果你没有使用存储过程或函数(这使得ordinal用法无论如何都对我来说).我还缺少其他任何好处吗?
这可能听起来像是一项家庭作业,但它确实是研究办公室每个月提供的教育午餐.他们支付午餐费用,我们必须提供一个感兴趣的小话题.
是否可以在postgresql数据库中绘制表格,并使用R如下所示关系?

我怎么能放弃Foreign keys一般.我的意思是,如果我在表中有很多外键约束.喜欢
MonthlyEvaluatedBudgetTable Contraints:
在postgres中是否有一种方法可以放弃所有外键,而不是特定地放在现有表中?我使用这行代码删除现有表中的外键.
ALTER TABLE "public"."monthlyevaluatedbudgettable"
DROP CONSTRAINT "accountid_fk";
Run Code Online (Sandbox Code Playgroud)
但我想放弃它没有专门输入查询accountid_fk,branchid_fk,dept_fk.有没有办法呢?提前致谢.
这与这个问题有些相关:
我有一个带主键的表,我有几个引用该主键的表(使用外键).我需要从该表中删除行,其中主键未在任何其他表中被引用(以及一些其他约束).
例如:
Group
groupid | groupname
1 | 'group 1'
2 | 'group 3'
3 | 'group 2'
... | '...'
Table1
tableid | groupid | data
1 | 3 | ...
... | ... | ...
Table2
tableid | groupid | data
1 | 2 | ...
... | ... | ...
Run Code Online (Sandbox Code Playgroud)
等等.Group中的某些行未在任何表中引用,我需要删除这些行.除此之外,我还需要知道如何找到引用Group中给定行的所有表/行.
我知道我可以查询每个表并检查groupid,但由于它们是外键,我想有更好的方法.
顺便说一下,这是使用Postgresql 8.3.
给定这样的结构:
CREATE TABLE reference_table (
reference_table_key numeric NOT NULL,
reference_value numeric,
CONSTRAINT reference_table_pk PRIMARY KEY (reference_table_key)
);
CREATE TABLE other_table (
other_table_key numeric NOT NULL,
reference_table_key numeric,
CONSTRAINT other_table_pk PRIMARY KEY (other_table_key),
ONSTRAINT other_table_reference_fk FOREIGN KEY (reference_table_key)
REFERENCES reference_table (reference_table_key) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE SET NULL
);
CREATE TABLE another_table (
another_table_key numeric NOT NULL,
do_stuff_key numeric,
CONSTRAINT another_table_pk PRIMARY KEY (another_table_key),
ONSTRAINT another_table_reference_fk FOREIGN KEY (do_stuff_key)
REFERENCES reference_table (reference_table_key) MATCH SIMPLE
ON UPDATE NO ACTION …Run Code Online (Sandbox Code Playgroud) 如何查看PostgreSQL服务器中的表关系?两年多前,我曾多次尝试在 PostgreSQL 服务器中查找表关系,但无法获得任何帮助。那么有什么方法可以在 SQL Server 或 Access 中找到相同的表关系吗?或者可以在PostgreSQL服务器中查看表关系吗?
在PostgreSQL中,我具有以下表定义
create table file(
file_id int generated by default as identity primary key,
file_name text UNIQUE not null
);
Run Code Online (Sandbox Code Playgroud)
我的问题是:如何删除对的唯一约束file_name?
postgresql ×6
sql ×6
database ×3
foreign-keys ×3
java ×1
oracle ×1
ordinals ×1
plot ×1
r ×1
schema ×1
sql-server ×1
vb.net ×1