select S_ID from student;改用大写

解决方案 »

  1.   

    在oracle建表的时候,自动把字段名称变为大写,如果在字段名称上加双引号的话将不自动改变。
    create table a
    (a varchar2(20));

    create table a
    ("A" varchar2(20));
    是完全相同的,都可以用select a from a;查询。
      

  2.   

    sorry,看错。加了引号只能按字段名称大小写来操作。
      

  3.   

    如果你看一下:SYS.USER_COLUMNS的内容就明白了,原因是你创建了含有小写字母的表.ORACLE本事默认字段名,表名是大写.
    比如:CREATE TABLE TEST (COL_TEST NUMBER(5));和
       CREATE TABLE test (col_test NUMBER(5));是一样的。而:
     CREATE TABLE test ("col_test" NUMBER(5)); 就不同了。因为它创建出来的表的列是小写字母。而对于小写字母列或表的访问也一定要写上双引号才可以。
     比如我可以创建一下三个表:
    CREATE TABLE test (aa date);
    CREATE TABLE "test" (aa date);
    CTEATE TABLE "Test" (aa date);
    并且我可以分别对他们三个进行操作:
    insert into test values(sysdate);select COUNT(*) from TEST; //1
    select COUNT(*) from "test"; //0
    select COUNT(*) from "Test"; //0insert into "Test" select * from test;
    insert into "test" select * from "Test";
    insert into test values (sysdate);select COUNT(*) from TEST; //2
    select COUNT(*) from "test"; //1
    select COUNT(*) from "Test"; //1需要注意的是必须使用双引号,不能是单引号。由于双引号的作用,我们可以使用系统内部关键字来建表:
    Create table "TABLE" ("TABLE" VARCHAR2(30),"COLUMN" VARCHAR2(30));
    insert into "TABLE" values('TEST','AA');
    insert into "TABLE" values('test','AA');
    insert into "TABLE" values('Test','AA');
      

  4.   

    啊,这么多星星啊
    在oracle中,如果不加双引号,oracle会转化为大写,
    如果加了双引号,oracle将保持不变,但以后的查询就可能会有麻烦,
    如你创建了一个小写名称的表,那么引用这个表时,也必须用双引号来引用.
    但是如果你的引号中的内容是大写的话,加不加都一样了.
    所以建议ddl语句不要用引号,如果用,也要大写,避免不必要的麻烦
      

  5.   

    谢谢各位, 原因我现在明白了后来我是修给PD的设置让它产生的script不带有双引号现在在和"表空间"作战