4

如果该表不存在,我如何创建一个表。就我而言,我想用这个查询创建表:

SELECT * 
INTO a
FROM b

db A 中的表 a 和 db B 中的表 b 有帮助吗?

4

3 回答 3

5
if not exists (select [name] from sys.tables where [name] = 'a') SELECT * 
INTO A.dbo.a
FROM B.dbo.b

你可以试试这个..它很简单。

于 2013-07-22T06:13:15.600 回答
4

您可以为 SQL Server 使用OBJECT_ID函数。

IF OBJECT_ID('a') IS NULL
        SELECT *
        INTO a
        FROM b
于 2013-07-22T06:14:24.677 回答
1

MySQL、PostgreSQL、Sqlite:

CREATE TABLE IF NOT EXISTS t_exists1 
(
   c1 TYPE
);

甲骨文:

   DECLARE cnt NUMBER;
   BEGIN
     SELECT count(*) INTO cnt FROM all_tables WHERE table_name = 'T_EXISTS1';
     IF cnt = 0 THEN 
       EXECUTE IMMEDIATE 'CREATE TABLE t_exists1 
         (
           c1 TYPE
         );'; 
     END IF;
   END;

SQL 服务器:

  IF OBJECT_ID('t_exists1', 'U') IS NULL
  CREATE TABLE t_exists1 
  (
       c1 TYPE
  );
于 2018-04-14T15:30:34.967 回答