【问题标题】:How to create multiple sqlplus tables using one SQL script file如何使用一个 SQL 脚本文件创建多个 sqlplus 表
【发布时间】:2012-10-12 20:54:23
【问题描述】:

我正在 SQL*Plus 中创建一大堆表,并使用 PsPad 编写 SQL 脚本,通过 putty 中的 sqlplus 运行脚本。

目前我必须为每个表创建一个单独的 SQL 脚本文件,但我想在一个 SQL 脚本文件中创建我的所有表。这可能吗?

我试过了

CREATE TABLE TESTTABLE4(
ID NUMBER(2),NAME VARCHAR2 (50));
CREATE TABLE TESTTABLE2(
ID_NO NUMBER (2), SIZE NUMBER (4));

在表格之间也留一条线

【问题讨论】:

  • 您发布的内容应该有效。你有错误吗?这是完整的脚本吗?你需要提供比这更多的细节。
  • 它创建了第一个表而不是第二个。我收到错误“第 2 行错误:ORA-00904: : invalid identifier”

标签: sql oracle sqlplus


【解决方案1】:

SIZE 是一个关键字,如果你想创建一个名为 SIZE 的列,你应该把它放在“”之间。

CREATE TABLE TESTTABLE2(ID_NO NUMBER (2), "SIZE" NUMBER (4));

正如您在 cmets 中看到的那样,我应该说您可以这样做,但这并不意味着您应该这样做。感谢兄弟们的澄清。

【讨论】:

  • 是的,但无论如何都不要这样做,因为您必须始终在将来引用它的任何地方引用它。有一个list of reserved words;注意第一段,如果可以的话,避免使用其中任何一个作为对象名称。
  • SIZE 是问题,但不要为您的列/表名使用带引号的标识符。许多工具并不完全支持带引号的标识符。调用列大小或其他东西。 create table test (" " varchar2(10),"ORA-00942 表或视图不存在" 整数);
【解决方案2】:

看看anonymous PL/SQL blocks,它可以包含多个语句。

【讨论】:

  • 但不是 DDL,除非你使用动态 SQL。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多