Oracle数据库内核是用C编写的。但是,大部分代码在数据库内部执行,并且使用PL / SQL和Java(使用嵌入在内核中的JVM)进行开发。外围工具(SQL Developer,网格控件)主要使用Java。
MySQL用C和C ++编写。它的SQL解析器是用yacc编写的,但它使用的是自制的词法分析器。MySQL可在许多系统平台上工作。
扩展资料:
Oracle的文件结构:
数据库的物理存储结构是由一些多种物理文件组成,主要有数据文件、控制文件、重做日志文件、归档日志文件、参数文件、口令文件、警告文件等。
1、控制文件:存储实例、数据文件及日志文件等信息的二进制文件。alter system set control_files=‘路径’。V$CONTROLFILE。
2、数据文件:存储数据,以dbf做后缀。一句话:一个表空间对多个数据文件,一个数据文件只对一个表空间。dba_data_files/v$datafile。
3、日志文件:即Redo Log Files和Archivelog Files。记录数据库修改信息。ALTER SYSTEM SWITCH LOGFILE; 。V$LOG。
4、参数文件:记录基本参数。spfile和pfile。
5、警告文件:show parameter background_dump_dest---使用共享服务器连接。
6、跟踪文件:show parameter user_dump_dest---使用专用服务器连接 。
看你的account_a + account_b,显然这两个字段是字符型,ORACLE如果是字符串拼接,是不能用+的,如果这两个字段是字符型,那么+应该修改为||。
所以,既然从这个语句可以看出account_a + account_b这两个字段是数字型,那么||进行字符串拼接的时候,要求左右都是字符型,才会正确。
所以,你的||右边,不是字符型。而是数字型。ORACLE应该用TO_CHAR来把数字型转化成字符型。
dbms_outputput_line('转账前总余额:'||to_char(account_a+account_b));
这两个分开写,上面的那个写法,输出的结果是在两行,而下面,会使输入结果在一行中。
而且如果直接使用put_line,括号内可以是数字型,而第二个,则是字符数字混合,而其拼接的符号两遍也是两种类型,必然出错。
C语言是面向过程的语言。做编程开发可以从C入门。JAVA是面对对象的语言,也是当前最流行的语言,几乎现在常用大多数的编程都是面向对象的。当然不只JAVA,例如还有C++、C#,注意不要看到都是C开头就认为是C的扩展而已,它们可是完全不同的。ORACLE数据库9i版本已经开始加入面向对象的思想了。如果你仅会C语言,学ORACLE很吃力。而且关键在于练,而数据库可不向编程那么方便练习,尤其是ORACLE。
你现在开始学习JAVA是完全没有问题的。它入门的知识是和C的类似,例如while for if等语句,但后面就完全不同了。
以上就是关于请问mysql和Oracle分别用什么语言写的啊全部的内容,包括:请问mysql和Oracle分别用什么语言写的啊、Oracle数据库的pl/sql编程问题:、我以前学过C语言,但不是很熟,现在我想学习ORACLE数据库,请问会有困难吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)