第二个灵魂 发表于 2015-1-16 22:39:37

MYSQL网页编程之Oracle中调试存储历程

与其他数据库相比,MySQL易学易用。oracle|存储历程
自己在写存储历程时,不晓得怎样调试它。有一种调试举措就是在程序中打印出变量的值,在JAVA中俺是打印在把持台上的。以下告知众位怎样从在sqlplus上完成。

1、sqlplus上实行“setserveroptputon”命令

2、在存储过程当中能够用DBMS_OUTPUT.PUT_LINE(VarName);来打印出来

给个存储历程的例子:

createorreplaceproceduretestis

Emp_nameVARCHAR2(10);
Cursorc1ISSELECTEnameFROMEMP
WHEREDeptno=20;
BEGIN
OPENc1;
LOOP
FETCHc1INTOEmp_name;
EXITWHENc1%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(Emp_name);
ENDLOOP;

endtest;



背景创建test这个存储历程,编译它,以scott/tiger帐号进进,实行setserveroptputon,然后实行“exectest”
由于在MySQL中有如此众多的额外功能可选,诸如存储引擎等,你可以选择最适合你公司的一个,或者尝试选用多个引擎。MySQL开始非常小巧,但是可以随着公司的成长而不断地变强大。

深爱那片海 发表于 2015-1-19 20:50:46

需要注意的一点,也是我使用过程中发现的一个问题。在建立function->schema->table后,如果在现有的分区表上建立没有显式声明的聚集索引时,分区表会自动变为非分区表。这一点很让我纳闷。

柔情似水 发表于 2015-1-28 10:31:37

你觉得我的非分区索引无法对起子分区,你可以提醒我一下呀!没有任何的提醒,直接就变成了非分区表。不知道这算不算一个bug。大家也可以试试。

愤怒的大鸟 发表于 2015-2-5 20:20:46

这是一个不错的新特性。虽然索引的附加字段没有索引键值效率高,但是相对映射到数据表中效率还是提高了很多。我做过试验,在我的实验环境中会比映射到表中提高30%左右的效率。

小女巫 发表于 2015-2-13 11:43:08

从底层原理到表层引用,书籍多的很。个人认为没有什么那本书好?这样的说法。主要看和个人的学习方法是否适合。

仓酷云 发表于 2015-3-3 20:54:09

如果是将来做数据库的开发设计,就应该详细学习T-SQL的各种细节,包括T-SQL的程序设计、存储过程、触发器以及具体使用某个开发语言来访问数据库。

精灵巫婆 发表于 2015-3-11 13:38:27

对递归类的树遍历很有帮助。个人感觉这个真是太棒了!阅读清晰,非常有时代感。

蒙在股里 发表于 2015-3-18 14:41:45

理解了存储结构,再阅读下性能优化的章节基本上会对sqlserver有个清晰地认识

爱飞 发表于 2015-3-25 23:53:15

也可谈一下你是怎么优化存储过程的?
页: [1]
查看完整版本: MYSQL网页编程之Oracle中调试存储历程