没有见过这样的书。存储过程逻辑上只不过是一组SQL语句的集合而已,只要掌握了各种SQL命令,理解连接的原理、子查询的原理等SQL基本知识,就具备写存储过程的基础了;其次,应该了解所使用的数据库管理系统的逻辑结构,譬如数据库的系统表,系统视图,系统存储过程,系统函数等,这些都是必须了解的,再深一点就是表、索引等数据库对象的存储原理,不同的数据库产品是不尽相同的;再次,存储过程经常要处理数据的计算,存储,传递等算法问题,所以数据结构和算法也必须有一定的基础。
当然,存储过程是数据库产品扩展的功能,也就是说SQL标准中并没有对存储过程的语法做出详细的规定,所以在不同的数据库上写存储过程的语法差别还是有的。譬如在MSSqlserver上用T-SQL和在Oracle上用PL-SQL写存储过程的语法是有一点不同的。但这绝对不是写存储过程的难点。写惯了T-SQL的人,可能用1个星期就习惯了写PL-SQL,随便看看参考手册就行。
综上所述,应该没有专门讲存储过程的书。就算真的有,也最好不要看。因为写存储过程的能力是一种编程的综合能力。