标签: sql-insert

将数据从db插入另一个db

我想从旧的数据库表中获取值到新的数据库表.

旧数据库结构:

表I: Country

  • CountryId
  • 国家的名字

新的数据库结构

表二: Countries

  • ID
  • 名称

我使用了以下插入查询,如,

select 'insert into Countries (Id, Name) select ', countryid, countryname from Country
Run Code Online (Sandbox Code Playgroud)

但我有结果,如,

  • insert into Countries(Id,Name) select 1 India
  • insert into Countries(Id,Name) select 2 Any Country

像那样.

但我需要结果,如,

insert into Countries (Id, Name) values (1, 'India')
Run Code Online (Sandbox Code Playgroud)

为实现这一目标,查询是什么?帮我...

sql sql-server sql-server-2008 sql-insert

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

为什么批量导入比INSERT更快?

我正在编写关于将数据从文件导入SQL Server表的方法的研究生工作.我已经创建了自己的程序,现在我将它与一些标准方法进行比较,如bcp,BULK INSERT,INSERT ... SELECT*FROM OPENROWSET(BULK ...).我的程序从文件中读取行,解析它们并使用普通的INSERT逐个导入它们.我生成的文件有100万行,每行有4列用于测试.现在我的情况是我的程序工作160秒,而标准方法工作5-10秒.

那么问题是为什么BULK操作比100万INSERT更快?他们是否使用特殊手段?你可以解释一下,还是给我一些有用的链接?谢谢!

sql sql-server performance bulkinsert sql-insert

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

当 MySQL WorkBench bit(1) 将“b”文字放在非位值之前时,如何处理它?

假设我有一个表“day_attribute_type”

id bigint(20) AI PK 
code varchar(255) 
persist_date bigint(20) 
update_date bigint(20) 
active bit(1) 
max int(11) 
min int(11) 
name varchar(255)
Run Code Online (Sandbox Code Playgroud)

如果我在结果网格中添加一个新行并按“应用”按钮,我将得到以下查询:

INSERT INTO `tl2`.`day_attribute_type` (`persist_date`, `update_date`, `active`, `max`, `min`, `name`) 
VALUES ('1', '2', b'1', b'12', b'12', b'text');
Run Code Online (Sandbox Code Playgroud)

看起来 Workbench 不仅将“b”放在位字段之前,而且还放在其他一些字段之前。后期编辑查询并删除有问题的东西真的很烦人。

MySQL WorkBench 8.0.16 x64、Windows 10 MYSQL 社区服务器 8.8.12

我已经更新 MySQL Workbench 一年了,这个讨厌的错误仍然出现......我什至重新安装了我的 Windows。

看起来没有人会修复它。这里提到了。请有人尝试在 Linux/Max 上重现此错误并确认您是否有此错误。

mysql sql rdbms mysql-workbench sql-insert

7
推荐指数
1
解决办法
1587
查看次数

SQL Server 2014插入NOT IN的位置

有2个表.第一个有fname(名字),lname(姓),第二个有很多列,包括:( salutation先生,博士等),fname(名字),mname(中间名),lname(姓),独特标识和日期.

我希望创建包含第三表中Salutation,fname,mname,lname,uid,added从另外2本表中的信息,然后我将丢弃该第一表和重新创建第二表中删除那些列.

这就是我所拥有的:

CREATE TABLE MyTable
(
    Id  int  IDENTITY (1, 1) PRIMARY KEY,
    Salutation  varchar(20) NULL DEFAULT (NULL),
    Fname  varchar(30) NOT NULL,
    Mname  varchar(30) NULL DEFAULT (NULL),
    Lname  varchar(30) NOT NULL,
    Uid  uniqueidentifier NULL DEFAULT (NULL),
    Added  Date NOT NULL DEFAULT (getdate())
);

INSERT INTO MyTable (Fname, LName)
   SELECT Fname, Lname 
   FROM TABLE1
Run Code Online (Sandbox Code Playgroud)

这是我困惑的地方:

INSERT …
Run Code Online (Sandbox Code Playgroud)

sql sql-server sql-insert sql-server-2014

6
推荐指数
1
解决办法
570
查看次数

ORA-04091: 表正在发生变化,触发器/函数在执行 Oracle 触发器期间可能看不到它错误

我有下面的触发器,其中FIELD_NAME我想将字段值插入FIELD_TRACKING表中'Deactivation time of KPI in case of Downtime(Select KPI_FREQ_TIME_UNIT FROM KPI_DEFINITION)'。该字符串值中的括号部分来自表KPI_FREQ_TIME_UNIT的字段KPI_DEFINITION。下面是我为此编写的触发器。触发器编译没有任何错误。但是当我尝试更改表DNTM_REAC_AFTER_HRS中的字段KPI_DEFINITION时,我收到错误ORA-04091: table RATOR_MONITORING_CONFIGURATION.KPI_DEFINITION is mutating, trigger/function may not see it ORA-04088: error during execution of trigger 'RATOR_MONITORING_CONFIGURATION.TRG_TRK_KPI_DEFINITION'

create or replace TRIGGER RATOR_MONITORING_CONFIGURATION."TRG_TRK_KPI_DEFINITION" AFTER UPDATE ON RATOR_MONITORING_CONFIGURATION.KPI_DEFINITION
      FOR EACH ROW

    IF NOT  :old.DNTM_REAC_AFTER_HRS=:new.DNTM_REAC_AFTER_HRS THEN
        INSERT INTO RATOR_MONITORING_CONFIGURATION.FIELD_TRACKING  (FIELD_TRACKING_ID,TABLE_NAME,TABLE_ID, FIELD_NAME,FIELD_OLD_VALUE,FIELD_NEW_VALUE,USER_ID, TIMESTAMP, FIELD_TRACKING_COMMENTS)
        VALUES (FIELD_TRACKING_SEQ.NEXTVAL,'KPI_DEFINITION',:new.KPI_DEF_ID,'Deactivation time of KPI in case of Downtime'|| '(' || to_char((Select KPI_FREQ_TIME_UNIT FROM …
Run Code Online (Sandbox Code Playgroud)

oracle triggers sql-insert

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

SQLMAP - 如果在 MYSQL 服务器上无法进行堆叠查询,如何插入数据库?

使用 SQLMAP 提取数据库表和列工作正常,但当我尝试执行 INSERT 语句时,出现以下错误:

询问:

sqlmap -u "http://www.example.com/details.php?item_id=327" -D main_db -T orders --columns --sql-query \ "INSERT INTO orders (order) VALUES ('test')"


Table:orders

+---------+----------+
| Column  | Type     |
+---------+----------+
| order   | longtext |
| data    | date     |
| timp    | time     |
+---------+----------+

[22:47:50] [WARNING] execution of custom SQL queries is only available when stacked queries are supported
 INSERT INTO orders (order) VALUES ('test'):    None
[22:47:50] [INFO] fetched data logged to text files under '/root/.sqlmap/output/www.example.com'
Run Code Online (Sandbox Code Playgroud)

是否有任何解决方法可以在 MYSQL …

mysql sql stacked sql-insert sqlmap

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

在 mysql 中使用 SELECT 插入值

我有 2 个表:具有列(id、用户名、密码)的用户和具有列(user_id、失败、时间)的 user_failed。有什么可能的方法可以仅使用用户名插入表 user_failed 中?我尝试这段代码但失败了:

INSERT INTO `login_attempts`(`user_id`, `time`, `failed`) 
VALUES (SELECT user_id FROM users WHERE username = 'pokemon','',3)
Run Code Online (Sandbox Code Playgroud)

mysql sql sql-insert

6
推荐指数
1
解决办法
6332
查看次数

插入视图时出现“ORA-01733: 此处不允许虚拟列”

我创建了一个名为“view_employee”的视图,如下所示:

CREATE VIEW view_employee AS
SELECT employee.surname || ', ' || employee.name AS comp_name, employee.sex, sections.name AS section_name, employee_age
FROM sections, employee WHERE employee.section = sections.sect_code;
Run Code Online (Sandbox Code Playgroud)

我想使用视图将数据插入表中,如下所示:

INSERT INTO view_employee VALUES ('Doe, John', 'm', 'Marketing', 34);
Run Code Online (Sandbox Code Playgroud)

以下是表的列和约束:

create table sections(
  sect_code number(2),
  name varchar2(20),
  income number(5,2)
   constraint CK_sections_income check (income>=0),
  constraint PK_sections primary key (sect_code)
 );

 create table staff(
  ident number(5),
  document char(8),
  sex char(1)
   constraint CK_staff_sex check (sex in ('f','m')),
  surname varchar2(20),
  name varchar2(20),
  address varchar2(30),
  section number(2) not …
Run Code Online (Sandbox Code Playgroud)

sql oracle10g sql-view sql-insert

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

有一个名为...的列不能从查询子查询的这部分引用

 WITH upt as (
 UPDATE backend."orders" SET "statusId" = 5
 WHERE "userId" IN (177962,88265) and "statusId" IN (0,1,2,3,4) RETURNING *
)
 INSERT INTO __test_result(orderid) VALUES ((SELECT orderid FROM upt))
Run Code Online (Sandbox Code Playgroud)

需要更新和记录数据,得到这个错误

ERROR: column "orderid" does not exist Hint: There is a column named 
"orderid" in table "__test_result", but it cannot be referenced from this part of the query.
Run Code Online (Sandbox Code Playgroud)

如何在表中插入所有“upt”行?它必须看起来

"upt.orderid","jsonb for that orderid"
Run Code Online (Sandbox Code Playgroud)

对于每个订单 jsonb 必须从具有相同 orderid 的“upt”列创建

sql postgresql sql-insert

6
推荐指数
1
解决办法
9910
查看次数

使用 EF Core 插入 SQL Server 上的事务死锁

我正在尝试使用 Entity Framework Core 快速执行大量包含大量数据的单独插入。我将数据插入到几个相关的表中,偶尔会收到SqlException以下消息;

事务(进程 ID 120)在与另一个进程的锁资源上发生死锁,并已被选为死锁牺牲品。重新运行事务。

我正在做的唯一读取是作为插入的一部分来检索新创建记录的 ID。您可以从发生的插入中看到 Entity Framework Core 日志。如果它有所作为,我向 UniqueId 列添加了一个非聚集索引。

如何避免死锁并因此获得更好的性能?

2018-06-13 17:11:59 DBG Executing DbCommand [Parameters=["@p0='40515' (Nullable = true), @p1='22a98afd-57c9-4821-8027-db9a7d1098d0' (Nullable = true), @p2='2017-12-13T17:11:41.8202539+01:00' (Nullable = true), @p3='2018-06-13T16:11:57.3627370+00:00', @p4='11' (Nullable = true), @p5='0' (Nullable = true), @p6='Teacher Tech' (Nullable = false) (Size = 1000), @p7='3' (Nullable = true), @p8='True' (Nullable = true), @p9='7f72ce12-7c3a-449e-b456-97db816dd7e6' (Nullable = true), @p10='11.0.40515.3' (Size = 50), @p11='False' (Nullable = true), @p12='False' (Nullable = true), @p13='bridge 2015-12-09_15-29 97f149c' …
Run Code Online (Sandbox Code Playgroud)

sql-server deadlock transactions sql-insert entity-framework-core

6
推荐指数
1
解决办法
3010
查看次数