插入到...值中(从...中选择...)

56 浏览
0 Comments

插入到...值中(从...中选择...)

我想使用另一个表的输入来INSERT INTO一个表。虽然对于许多数据库引擎来说这是完全可行的,但我总是难以记住当天的SQL引擎的正确语法(MySQLOracleSQL ServerInformixDB2)。

是否有来自SQL标准(例如SQL-92)的通用语法,可以让我插入值而不必担心底层数据库?

admin 更改状态以发布 2023年5月21日
0
0 Comments

Claude Houle的回答:应该可以正常工作,并且您还可以拥有多列和其他数据:

INSERT INTO table1 ( column1, column2, someInt, someVarChar )
SELECT  table2.column1, table2.column2, 8, 'some string etc.'
FROM    table2
WHERE   table2.ID = 7;

我只在Access、SQL 2000/2005/Express、MySQL和PostgreSQL中使用过此语法,因此应该已经涵盖了这些。它也应该可以在SQLite3中工作。

0
0 Comments

尝试:

INSERT INTO table1 ( column1 )
SELECT  col1
FROM    table2  

这是标准的 ANSI SQL,应该在任何DBMS上都可以运行

它确实适用于以下内容:

  • Oracle
  • MS SQL Server
  • MySQL
  • Postgres
  • SQLite v3
  • Teradata
  • DB2
  • Sybase
  • Vertica
  • HSQLDB
  • H2
  • AWS RedShift
  • SAP HANA
  • Google Spanner
0