如题,正在郁闷中:(

解决方案 »

  1.   

    我现在就是想做一个类似sql*plus一样的解释器。比如我输入的字符串是标准的sql命令:“select * from db_name";
    但是我在pro*c中就要对它重新编写,首先我要知道这个表有几列,同时我要知道每列的属性,这样才可以在开始定义sql的变量及类型。但是我还不知道如何去获得这些东西:(同时不知道各位高手有没有什么更好的方法??
      

  2.   

    表有几列,每列的属性
    在dba_columns中有定义
      

  3.   

    记得好几年前看过一个,那时是用Turbo C写的。
    大致的思路:
    1.功能菜单,快捷键;
    2.定义编辑器的最大行、列、使用内存;
    3.普通字符与特别字符的处理,如Enter,Ctrl,Alt等的单个与组合键的扫描码(如Ctrl+c,Ctrl+v)的判别与处理;
    4.Pgup,Pgdn,上下左右键等编辑键、当前页数(当前行列数)与键盘鼠标位置捕获的处理;
    5.“select * from db_name"中至少定义三类系统变量:select、from 为保留字,db_name为表名,*虽为选取的字段,但于count(*)中的*解释是完全不同的(要知道编译原理);
    6.还要标记操作系统、Oracle及你的编辑器中的各类变量等等。这可是一项大工程啊!
      

  4.   

    本质就是发送sql,接受数据
    sql的编译不需要你来进行数据类型,长度可通过元数据表获得我们的应用只限于客户端,只是发送,接受数据
      

  5.   

    虽然已经不用plus做了,但是还是感谢各位,hoho,收工