1、存储过程,带有逻辑的sql语句之前的sql没有条件判断,没有循环存储过程带上流程控制慎虚语句空洞。
2、是为了完成特定功能的SQL语句集,经编译创建并保存在数据库中宽亏燃,用户可通过指定存储过程的名字并给定参数(需要时)来调用执行。
触发器不能调用存储过程的解决方法是:1、用来唤醒调用触发器以响应INSERT、UPDATE或DELETE语句。
2、触发器是册改个特殊的存储过程,它的执行不是由程序调用,也不是手工州培判启启动。
3、触发器是用来激活事件的,当对一个表进行 *** 作,就可以激活触发器进行执行事件。
4、触发器经常用于加强数据的完整中册性约束和业务规则等。
....从报错看清猜肯定是问号错误...= =虽说我也不是很了解oracle,但是如中镇果你这是纯sql里面的话,你要call里面传入输出参数肯定是不能用?的,答培型而是应该declare一个Number之类的然后将该变量作为参数传入。
如果你这是程序里面的………jdbc是可以直接写?的,但是你之后也需要setString来替换掉?……
PS:别用CALL了,直接用BEGIN...END吧...
- -虽说我比较倾向于你这是直接在oracle里面写的,但是同志们说从写法上不能排除是写在程序里面的。。。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)