Oracle SQL-Inline-not NULL-Einschränkung benannt

wie kann ich festlegen, dass eine not NULL contraint am Ende meiner sql-Anweisung, wie kann ich mit einem EINDEUTIGEN

 CREATE TABLE test ( 
        WORKFLOW_CLASS_ID VARCHAR2(24),
        DEPT_OWNER VARCHAR2(3), 
        NAME VARCHAR2(64), 
        PRODUCT_ID VARCHAR2(24), 
        CONSTRAINT WF_WORKFLOW_CLASS_pk PRIMARY KEY (WORKFLOW_CLASS_ID), 
        CONSTRAINT dup_workflow UNIQUE (DEPT_OWNER, NAME), 
        CONSTRAINT not_null NOT NULL(PRODUCT_ID)) 

Den oben erstellen Zeichenfolge erstellt, die dynamisch mit definierten schema in einem XML-Dokument definiert, die Einschränkungen in seinem eigenen tag, also ich Wende auf die Constraints werden am Ende des sql-Strings. Wenn ich versuche, geben Sie NICHT NULL ist, bekomme ich Ungültiger Bezeichner.

BEARBEITEN:
Unten ist die Stuktur von meinem xml-Dokument. Diese Datei hat sich weiterentwickelt und im Laufe der Zeit. Ich es verwenden, um zu generieren DAO-und Javabean-boilerplate-code, den ich Ausschneiden und einfügen in Eclipse und für die dynamische Erstellung von html-Formularen (xml-Feld, Größe und Beschriftung). Es ist auch für einen Admin CRUD-Anwendung für die Pflege der backend. Vor kurzem habe ich die <tableConstraints> tag, da wollte ich hinzufügen, UNIQUE-Einschränkungen; UNIQUE-Einschränkung angegeben werden kann, am Ende der create-Anweisung. In hind-Sicht, ich sollte Hinzugefügt haben ein <contraint> tag in meinem <column> tag.

<!DOCTYPE schema PUBLIC "SchemaId" "../../schema.dtd">
<schema>
  <tableName>WF_WORKFLOW_CLASS</tableName>
  <javaBean>WorkflowClass</javaBean>
  <tableAlias>wfc</tableAlias>
  <tableTitle>Workflow process definitions by department</tableTitle>
  <tableConstraints>, CONSTRAINT dup_workflow UNIQUE (DEPT_OWNER, NAME), CONSTRAINT not_null NOT NULL(PRODUCT_ID)</tableConstraints>
  <oneToMany>
        <attName>work_item_list</attName>
        <attName>work_action_list</attName>
  </oneToMany>

  <column>
        <name>WORKFLOW_CLASS_ID</name>
        <type>VARCHAR2</type>
        <size>24</size>
        <label>Work flow Class Unique ID</label>
  </column>

  <primaryKey>      
        <name>WORKFLOW_CLASS_ID</name>
        <type>timestamp</type>
  </primaryKey>

  <foreignKey>
        <name>ADMIN_BY</name>
        <table>EBITPSV.PS_NAMES_V009</table>
        <lookUpKey>badge</lookUpKey>
        <returnField>lname</returnField>
  </foreignKey>

</schema>
  • Sie können nicht erstellen Sie inline-am Ende der Erstellung der Tabelle. Sind Sie in der Lage zu tun, viele alter table add constraint am Ende?
InformationsquelleAutor jeff | 2012-03-21
Schreibe einen Kommentar