随笔记录

万物难为有 无常似尾花 空蝉如此世 幻灭若朝霞

  • Published on
    函数是一种可封装特定逻辑并返回结果的数据库对象,主要分为标量函数(返回单个值)和表值函数(返回结果集)。它用于简化复杂计算、提高代码复用性,常见于数据转换、条件筛选等场景。通过CREATE FUNCTION定义后,可在查询中直接调用。使用时需注意性能影响,避免在大量数据处理中使用复杂函数,优先考虑存储过程或内联表值函数以提高效率
  • Published on
    存储过程(Stored Procedure)是预编译的T-SQL语句集合,存储在数据库中供重复调用。它用于封装复杂业务逻辑、提高执行效率(预编译减少解析开销)并增强安全性(通过权限控制)。存储过程支持输入/输出参数,可用于数据操作、事务处理和批量任务,典型应用包括报表生成、数据迁移等。使用CREATE PROCEDURE创建,通过EXEC命令调用。相比函数,存储过程不强制返回值,且能执行DDL操作,但调试较复杂,适用于高频使用的核心业务逻辑。
  • Published on
    游标是一种数据库对象,用于逐行遍历查询结果集,支持对单行数据进行精确操作(如更新、删除)。它适用于需要逐行处理的场景,如数据校验、批量操作或复杂业务逻辑。使用时需通过DECLARE CURSOR定义游标,OPEN打开结果集,FETCH逐行提取数据,最后用CLOSE和DEALLOCATE释放资源。注意:游标性能较低,应优先考虑集合操作(如JOIN或子查询),仅在必要时使用
  • Published on
    EXECUTE(EXEC)是SQL Server中执行存储过程或动态SQL语句的关键命令。它用于调用预编译的存储过程(提高性能)或运行动态生成的SQL(灵活处理不确定查询条件)。通过EXEC 过程名 参数调用存储过程,或用EXEC('SQL语句')执行动态SQL。支持输入/输出参数,但动态SQL需注意SQL注入风险,建议使用参数化查询(sp_executesql)。典型应用于业务逻辑封装、权限控制和复杂查询构建。
  • Published on
    控制流是用于管理T-SQL脚本执行流程的逻辑结构,主要包括条件分支(IF-ELSE)、循环(WHILE)、异常处理(TRY-CATCH)等。它使开发者能够实现复杂的业务逻辑,如根据条件执行不同操作(IF)、重复处理数据(WHILE)或捕获运行时错误(TRY-CATCH)。