
凌晨的销售接口刚刚送来两万条订单行,数据库过程需要完成价格校验、税额计算、信用检查和异常标记。若过程接口只能接收一个INTEGER、一个VARCHAR或一个DECIMAL,应用程序就得把两万条记录拆成两万次调用。网络往返、事务切换、参数解析和执行上下文创建所带来的成本,很快就会盖过真正的计算时间。SAP HANA SQLScript 提供的 Data Type Extension,解决的正是这一类问题。除了INTEGER、VARCHAR、DECIMAL、DATE等内置标量 SQL 数据类型,SQLScript 还允许定义表类型,让一组包含多列、多行的数据拥有明确而可复用的类型。过程和函数由此不再只能接收一个个孤立值,而可以把完整结果集作为输入或输出参数,在数据库内部形成结构化的数据流。SAP 对 SQLScript 的定位并不只是给标准 SQL 增加循环和条件判断。官方参考资料把它概括为三类扩展,其中 Data Extension 允许定义不依附于持久化数据库表的表类型,Functional Extension 用于表达和封装复杂数据流,Procedural Extension 则提供在数据库进程中执行的命令式结构。