9

我在 oracle xe 11g 数据库中创建了多个表,并将每个表的脚本保存在不同的 .sql 文件中。但我需要使用单个 .sql 文件一次创建所有表。我试图在脚本下面运行,但它一次只创建一个表。

CREATE TABLE ACCOUNT_DETAILS_TB 
(
  CUSTOMER_ID VARCHAR2(20) NOT NULL 
, ACCOUNT_ID VARCHAR2(20) NOT NULL 
);

CREATE TABLE ADDRESS_DETAILS_TB 
(
  ACCOUNT_ID VARCHAR2(20) NOT NULL 
, ADDRESS_ID VARCHAR2(20) NOT NULL 
);
4

2 回答 2

18

您需要用 分隔创建表脚本/或以 结束命令;,试试这样,

CREATE TABLE ACCOUNT_DETAILS_TB ( CUSTOMER_ID VARCHAR2(20) NOT NULL , ACCOUNT_ID VARCHAR2(20) NOT NULL )
/
CREATE TABLE ADDRESS_DETAILS_TB ( ACCOUNT_ID VARCHAR2(20) NOT NULL , ADDRESS_ID VARCHAR2(20) NOT NULL )
/

或者

CREATE TABLE ACCOUNT_DETAILS_TB ( CUSTOMER_ID VARCHAR2(20) NOT NULL , ACCOUNT_ID VARCHAR2(20) NOT NULL );

CREATE TABLE ADDRESS_DETAILS_TB ( ACCOUNT_ID VARCHAR2(20) NOT NULL , ADDRESS_ID VARCHAR2(20) NOT NULL );
于 2013-10-08T05:35:55.390 回答
-4

我通过在 SQL Server 中将 VARCHAR2 更改为 NVARCHAR 来运行此脚本,发现在数据库中以

  • ACCOUNT_DETAILS_TB1
  • ADDRESS_DETAILS_TB2

这是我的数据库的屏幕截图,创建的 2 个表是四舍五入的。

我的数据库的屏幕截图

于 2013-10-08T05:44:20.433 回答