爱飞 发表于 2015-1-16 22:39:13

MSSQL网页编程之写PL/SQL程序时碰着的一些成绩

也就是说在php本地调用pdoprepare中的mysql_real_escape_string来操作query,使用的是本地单字节字符集,即编码为xbfx5cx27,并带入到mysql中查询,由于使用setnames设置了连接字符集.程序|成绩
记的前次写PL/SQL程序仍是刚卒业不久,还用的是Oracle7forNovell
厥后只是偶然用一下oralce,PL/SQL的一些语法已全忘了,
这不,碰着好些初级的成绩,服膺下,但愿不会再健忘。


1.有forupdate范例的Cursor
界说Cursor时,加了forupdate,由于必要翻开cursor后还要对这些数据举行修正和删除,
但在修正和删除数据后在封闭cursor前就commit,就呈现了上面的毛病:
ORA-01002:读取违背按次
ORA-06512:在"JWGL.PCKGSTUDSLTCOURSE",line62
ORA-06512:在line2

Error:ORA-06550:第2行,第0列:
PLS-00103:呈现标记"end-of-file"在必要以下之一时:
begincasedeclare
exitforgotoifloopmodnullpragmaraisereturnselect
updatewhilewith《anidentifier》
《adouble-quoteddelimited-identifier》《abindvariable》
closecurrentdeletefetchlockinsertopenrollback
savepointsetsqlexecutecommitforallmerge
《asingle-quotedSQLstring》pipe

刚入手下手还觉得是由于我嵌套select子句,而不克不及加forupdate。
厥后才发明是因我在修正删除数据即刻commit后,又即刻从cursor中fetch数据。
实在在翻开有forupdate的cursor时,体系会给掏出的数据加上排他锁(exclusive),
如许在这个锁开释前其他用户不克不及对这些纪录作update、delete和加锁。
而我一旦实行了commit,锁就开释了,游标也酿成有效的,再往fetch数据时就呈现毛病了。
因此要把commit放在轮回外,比及一切数据处置完成后再commit,然后封闭cursor.

2.怎样在一个工具范例的办法中对该工具的属性举行赋值
在一样平常情形下,挪用一个工具的办法时,工具本人SELF是以IN范例的参数传出来的,因而不克不及
对工具的属性举行修正不然会呈现上面的毛病。

Error:PLS-00363:表达式SELF不克不及用作赋值方针
Line:26
Text:setRoundNO(vSltCourseCalendar.getRoundNO());

Error:PL/SQL:Statementignored
Line:26
Text:setRoundNO(vSltCourseCalendar.getRoundNO());
TryingtocompileanobjectinOracle9i.
Whyisthisthrowinganexception?
Doesanyonehaveaclue?Orallofyouaspuzzledasme?Anyexperts?

Throwserror:
PLS-00363:expressionSELF.ATTRIB_NUMBERcannotbeusedasanassignmenttarget

但能够经由过程把SELF以INOUT体例传出来,然后在办法内就可以对工具属性举行赋值了。
MEMBERFUNCTIONTEST_FUNCTION(SELFINOUTTEST_OBJECT)RETURNNUMBER

使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性

小魔女 发表于 2015-1-19 20:40:04

而写到本地,我又考虑到效率问题.大家来讨论讨论吧,分数不打紧,就给10分,十全十美,没啥对错,各抒己见,但是要有说服力的哦~

飘飘悠悠 发表于 2015-1-26 14:31:03

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

谁可相欹 发表于 2015-2-4 15:55:35

然后最好有实践机会,能够把实践到的和实践结合起来,其实理论思考是个非常困扰和痛苦的事情

金色的骷髅 发表于 2015-2-10 03:44:00

XML字段类型更好的解决了XML数据的操作。XQuery确实不错,但是个人对其没好感。(CSDN的开发者应该是相当的熟了!)

再现理想 发表于 2015-2-28 18:47:23

换言之,只有在不断的失败中尝试成功,而关于失败的总结却是很少的

兰色精灵 发表于 2015-3-10 05:42:45

作了些试验,发现使用CLR的存储过程或函数在达到一定的阀值的时候,系统性能会呈指数级下滑!这是非常危险的!只使用几个可能没有问题,当一旦大规模使用会造成严重的系统性能问题!

不帅 发表于 2015-3-17 05:04:10

记得在最开始使用2k的时候就要用到这个功能,可惜2k没有,现在有了作解决方案的朋友会很高兴吧。
页: [1]
查看完整版本: MSSQL网页编程之写PL/SQL程序时碰着的一些成绩