sql中foreach的用法-SQL
SQL 中 FOREACH 的用法
FOREACH 语句在 SQL 中用于对表中的一系列行执行循环操作。它主要用于以下场景:
- 循环处理表中的多行
- 对每行执行一个或多个操作
- 根据条件过滤行
语法:
FOREACH (rowset_expression) AS FOR EACH ROW statement_list
登录后复制
其中:
- rowset_expression 指定要遍历的表或查询结果
- statement_list 指定执行的 SQL 语句
用法示例:
以下示例使用 FOREACH 遍历 Customers 表,并为每个客户输出姓名和地址:
DECLARE @Customers TABLE ( ID int, Name nvarchar(50), Address nvarchar(100) ); INSERT INTO @Customers (ID, Name, Address) VALUES (1, 'John Doe', '123 Main Street'), (2, 'Jane Smith', '456 Oak Avenue'); FOREACH (row IN @Customers) AS FOR EACH ROW SELECT Name, Address FROM row;
登录后复制
注意:
- FOREACH 语句必须在 BEGIN...END 块内使用。
- rowset_expression 可以是表变量、表表达式或查询。
- statement_list 可以包含任何有效的 SQL 语句,如 SELECT、INSERT、UPDATE 和 DELETE。
- FOREACH 语句还可用于处理游标。