- Published on
全部文章
全部文章
- database (18)
- sqlserver (15)
- web (11)
- essay (6)
- javascript (5)
- nodejs (3)
- java (3)
- npm (3)
- mysql (3)
- blog (3)
- typecho (3)
- theme (3)
- es6 (2)
- exec (2)
- chocolatey (1)
- choco (1)
- commonjs (1)
- gravatar (1)
- mirror (1)
- gulp (1)
- file-upload (1)
- guava (1)
- cache (1)
- jwt (1)
- async (1)
- defer (1)
- mockjax (1)
- ajax (1)
- less (1)
- packagejson (1)
- row_number (1)
- for-xml (1)
- datetime (1)
- convert (1)
- execute (1)
- cursor (1)
- function (1)
- typescript (1)
- v2ray (1)
- vps (1)
- 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)。典型应用于业务逻辑封装、权限控制和复杂查询构建。