我有一个包含 ~35k ID
s ( TableC
) 的表,一个包含多列 ( TableA
) 的ID
表,其中包括前面提到的表和第三个空表,具有与第二个表 ( TableB
)相同的列。
现在,我需要每个条目从复制TableA
到TableB
其中ID
的TableA
是TableC
。我想出了这个查询:
SELECT * INTO TableB
FROM TableA
WHERE ID IN
(SELECT ID FROM TableC)
Run Code Online (Sandbox Code Playgroud)
但这会导致错误There is already an object named 'TableB' in the database.
.. 我不允许为此删除和重新创建TableB
。
使用 Microsoft SQL Server Enterprise Edition v9.00.3042.00,即 SQL Server 2005 Service Pack 2
我怎么能每个条目将复制TableA
到TableB
其中ID
的TableA
是TableC
?
我正在尝试使用来自程序命令的 Postgres 副本读取 JSON API。
当我打电话
copy _temp from program 'curl -uri "https://url"';
Run Code Online (Sandbox Code Playgroud)
它工作正常,但 API 有分页,我需要循环多次调用。
当我这样称呼它时:
_command := 'curl -uri "https://url?&page='||(10::text)||"';
copy _temp from program _command;`
Run Code Online (Sandbox Code Playgroud)
我得到
ERROR: syntax error at or near "_command"
Run Code Online (Sandbox Code Playgroud)
你甚至不能像
copy _temp from program 'curl -uri "https://url?&page='||(10::text)||'"';
Run Code Online (Sandbox Code Playgroud)
提高通知样式中的百分比参数替换也不起作用。
是什么赋予了?程序是带单引号的文字字符串,那么指定文字字符串和使用 text 或 varchar 变量有什么区别?似乎没有任何程序数据类型(::program cast 什么也不做),我错过了什么?
在文档中它说'最好使用固定的命令字符串'而不是你只能使用固定的命令字符串......
如何使用动态命令字符串?
我正在ERROR: COPY format "tsv" not recognized
试图文件内容与复制时psql \copy
的功能。出于某种原因,Postgres 不知道 TSV 格式?
我正在运行的命令是:
psql -h <host> -U <user> -d <db> -c "\copy table_name (column1, column2, column3) FROM '/path/to/file.tsv' WITH (FORMAT TSV, FORCE_NULL(column2));"
试图围绕问题进行搜索,但似乎都与FORMAT CSV
问题有关。
我想使用COPY
Postgres 中的函数将数据发送到 .csv 文件。但我使用匿名块,所以我的表名应该是变量的值。
COPY (SELECT cname.portal from user) To '/tmp/out.csv' With CSV;
Run Code Online (Sandbox Code Playgroud)
cname
我的匿名块内的变量在哪里。我尝试使用EXECUTE
格式,但它也不起作用。我试过类似的东西:
EXECUTE format (' COPY (select * from %s.portal,cname ) To '/tmp/out1.csv' With CSV');
Run Code Online (Sandbox Code Playgroud)