我在我的数据库中创建了一个表:
CREATE TABLE official_receipt(
student_no INT UNSIGNED,
academic_year CHAR(8),
trimester ENUM('1', '2', '3'),
or_no MEDIUMINT UNSIGNED,
issue_date DATE NOT NULL,
received_from VARCHAR(255) NOT NULL,
amount_of DECIMAL(8,2) NOT NULL,
issued_by VARCHAR(255),
doc_type ENUM('FULL', 'DOWN', 'INST') NOT NULL,
form_of_payment ENUM('CASH', 'INST') NOT NULL,
PRIMARY KEY (student_no, academic_year, trimester, or_no)
);
Run Code Online (Sandbox Code Playgroud)
我插入了一些值:
INSERT INTO official_receipt(student_no , academic_year, trimester, or_no, issue_date, received_from, amount_of, issued_by, doc_type, form_of_payment)
VALUES
(201201121, 'AY201314', '1', 029940, 2013-05-21, 'NAME', 20000.00, NULL, 'DOWN', 'INST'),
(201201121, 'AY201314', '1', 029944, 2013-07-23, 'NAME', 8000.00, …Run Code Online (Sandbox Code Playgroud) 我得到:
ERROR [HY008]操作被取消ERROR [08S01]通信链路故障
尝试将外部.txt文件上载到Netezza数据库时.我在过去(仅在上周)完成了这项工作,但今天收到此错误.能够连接到DB,运行truncate和create table语句来加载这些数据,可以选择等等......但是没有运气加载.这是大约200K记录,这是我的代码:
INSERT INTO PTG_ITO_ETL.FINANCE_TY15_RT_TPG
SELECT * FROM EXTERNAL 'C:\\Users\\Documents\\Data Sources\\Finance_FY15_RT\\SBTPG\\TPG_INTUIT_RT_PRODIV_20150214.TXT'
USING
(
MAXERRORS 1
DATESTYLE 'MDY'
DATEDELIM '/'
BOOLSTYLE 'Y_N'
Y2BASE 2000
ENCODING 'internal'
SKIPROWS 1
REMOTESOURCE 'ODBC'
ESCAPECHAR '\'
)
Run Code Online (Sandbox Code Playgroud)
从我在这个主题上找到的其他帖子尝试过解决方案:
ERROR [08S01]在netezza中将数据插入外部表时通信链路出现故障
"我在Windows 7和Windows Server 2008 R2中发现TCP烟囱设置是罪魁祸首.
Follwing命令为我解决了这个问题:
netsh interface tcp set global rss=disabled
netsh interface tcp set global chimney=disabled
netsh interface tcp set global autotuning=disabled"
Run Code Online (Sandbox Code Playgroud)
但是,无济于事.不知道造成这个问题的原因是什么?在Windows 7上使用Aginity,Netezza版本7.0.4谢谢!
谢谢,克雷格
我知道这不可能嵌套insert ... exec语句,但我仍然很感兴趣 - 有没有办法检查我是否已经处于活动状态insert ... exec以避免实际错误?
所以我想要这样的东西:
....
if <check if I have outer insert into exec> = 0
insert into <#some temporary table>
exec <stored procedure>
Run Code Online (Sandbox Code Playgroud)
换句话说 -insert ... exec是可选的,拥有它很好,但如果有人试图用外部调用我的过程,我想跳过它insert ... exec
我尝试使用pg_dump进行表数据转储,如下所示:
pg96\bin\pg_dump ... --format plain --section data --column-inserts --file obj.account.backup --table obj.account database_xyz
Run Code Online (Sandbox Code Playgroud)
而不是得到
INSERT INTO obj.account(name, email, password) VALUES ('user1','email1','password1');
INSERT INTO obj.account(name, email, password) VALUES ('user2','email2','password2');
Run Code Online (Sandbox Code Playgroud)
我想得到
INSERT INTO obj.account (name, email, password) VALUES
('user1','email1','password1'),
('user2','email2','password2');
Run Code Online (Sandbox Code Playgroud)
有没有没有任何非PostgreSQL后处理的方法吗?
我使用的是INSERT查询SELECT从纯文本数据库为多个查询友好的数据库秒.为了避免与不必要的信息混淆,以下内容进行了简化,如果我为了清晰起见而进行了简化,请告诉我,我会修改.
来源数据如下:
| id (integer) | SomeCol (varchar) | BooleanCol (varchar) |
----------------------------------------------------------------------------
| 1 | 'String Data' | 'true' |
| 2 | 'Other Data' | 'false' |
Run Code Online (Sandbox Code Playgroud)
我的INSERT查询后目标表需要如下所示:
| id (integer) | SomeCol (varchar) | BooleanCol (tinyint(1)) |
-------------------------------------------------------------------------------
| 1 | 'String Data' | 1 |
| 2 | 'Other Data' | 0 |
Run Code Online (Sandbox Code Playgroud)
我正在寻找一些或多或少会像这样工作的东西,借用java语法:
INSERT INTO target(SomeCol, BooleanCol)
SELECT SomeCol, (BooleanCol IS NOT NULL ? (BooleanCol == 'true' ? 1 …Run Code Online (Sandbox Code Playgroud) 这是我的第一个问题,所以如果已经提出这个问题,请善待.我的英语不是很好;)我有一个XAMPP MySQL服务器,并希望发表一个INSERT SELECT声明,但如果我运行该语句我得到这个错误:#1062 - Duplicate entry '0' for key 'PRIMARY'
这是我的SQL语句:INSERT INTO amt (Bezeichnung)
SELECT Bezeichnung
FROM fach
但我不想覆盖表格"amt",它只应该附在表fach上.
"Bezeichnung"= GER,描述; "amt"= GER,功能
使用 SQL Server 我试图找到表的第 1 列中的每个唯一值,然后使用该唯一的第 1 列值插入一个新行并添加一个第 2 列值。第 2 列的值每次都相同。
注意:我可以通过从数据库中的第 1 列中提取唯一值并为每个值添加一个插入来完成此操作,但我在第 1 列中有 160 万个唯一值,因此以这种方式编写它会很烦人。
以第 1 列中的 2 个唯一值为例:
select *
from dbo.SettopSubscription
where MacAddr = '0000000ee4b5'
or MacAddr = '0000003a9667'
Run Code Online (Sandbox Code Playgroud)
结果:
MacAddr PackageId
------------ -----------
0000000ee4b5 11
0000000ee4b5 3
0000003a9667 241
0000003a9667 241
0000003a9667 11
0000003a9667 211
0000003a9667 8
0000003a9667 4411
0000003a9667 4412
0000003a9667 4479
Run Code Online (Sandbox Code Playgroud)
现在我想将 PackageId = 37 添加到每个唯一的 MacAddr 值,但到目前为止还没有运气写一些东西来查找和添加唯一的值。如前所述,我可以通过为每个 MacAddr 编写插入到脚本中来轻松完成此操作,但这需要永远占用 160 万个 MacAddr 值。
开始视图,同上:
MacAddr PackageId
------------ -----------
0000000ee4b5 …Run Code Online (Sandbox Code Playgroud) 我正在尝试INSERT INTO一张桌子,我知道2种方法:
将行添加为值:
INSERT INTO db_example.tab_example (id,name,surname,group)
VALUES ('','Tom','Hanks','1');
Run Code Online (Sandbox Code Playgroud)
或从另一个表:
INSERT INTO db_example.tab_example (id,name,surname)
SELECT ID,first_name,last_name FROM db_contacts.tab_mygroup;
Run Code Online (Sandbox Code Playgroud)
但是,如果我想从另一个表中插入一些值(第二种方法),而手动插入一些值(如默认值)(第一种方法),该怎么办呢?
这是我的尝试(没有用):
INSERT INTO db_example.tab_example (id,name,surname,group)
VALUES (
SELECT ID FROM db_contacts.tab_mygroup,
SELECT first_name FROM db_contacts.tab_mygroup,
SELECT last_name FROM db_contacts.tab_mygroup,
'1'
);
Run Code Online (Sandbox Code Playgroud)
我想创建一个VIEW表,它可能会解决问题,但我认为可能会有某种方式将两者加在一起。
感谢大伙们!我希望我能很好地描述我的需求:)
我的 INSERT 查询有问题。我想插入一些固定值作为名称,以及一些计算值。一个简单的例子:
INSERT INTO Players
VALUES('Name', 10.0, SELECT COUNT(*) AS Amount FROM Stack7 WHERE Name LIKE '%Name%', 1.0)
Run Code Online (Sandbox Code Playgroud)
牌桌玩家:
CREATE TABLE `Players` (
`Name` TEXT,
`Points` REAL,
`Games` REAL,
`Result` REAL
)
Run Code Online (Sandbox Code Playgroud)
编译器说:“SELECT”附近:语法错误:
我在 PostgreSql 中创建了一个表格书。
CREATE TABLE books ( id integer, data json );
Run Code Online (Sandbox Code Playgroud)
我的杰森:
{ "name": "Book the First", "author": { "first_name": "Bob", "last_name": "White" } }
Run Code Online (Sandbox Code Playgroud)
如何通过java代码将json插入Postgres?
insert-into ×10
mysql ×4
sql ×4
insert ×2
postgresql ×2
sql-server ×2
backup ×1
boolean ×1
date-format ×1
dml ×1
java ×1
json ×1
netezza ×1
pg-dump ×1
select ×1
sql-insert ×1
sql-update ×1
sqlite ×1