password
查看人数
type
status
date
slug
summary
category
icon
tags
作者
状态
测试开发过程中难免会批量造数据,首先想到的都是数据库插入数据,这时循环语句就要安排上了
方法1
满足条件就不在循环
这段PL/pgSQL代码实现了一个简单的循环操作,主要逻辑是:
1. 声明一个整数变量i。
2. 设置while循环,条件是i小于10。
3. 每次循环中,打印当前的i的值。
4. 每次循环结束,i加1。
5. 当i不再小于10时,while循环结束。
具体执行流程是:
1. i初始化为1。
2. 进入while循环,打印i=1。
3. i加1,现在i=2。
4. 打印i=2。
...
9. 打印i=9。
10. i加1,现在i=10。
11. i不再小于10,while循环结束。
方法2
满足条件就退出循环
这段PL/pgSQL代码实现了嵌套循环(nested loop),主要逻辑是:
1. 定义两个整数变量i和j。
2. 设置外层循环,i从1开始,每次循环结束i加1,当i大于3时退出循环。
3. 设置内层循环,j从1开始,每次循环结束j加1,当j大于5时退出内层循环。
4. 在内层循环中,使用RAISE NOTICE打印当前i和j的值。
5. 内层循环结束后,外层循环继续,i加1。
6. 直到外层循环中i大于3,退出整个循环。
因此,这段代码会打印出:
i=1, j=1
i=1, j=2
...
i=1, j=5
i=2, j=1
...
i=3, j=5
总共3次外层循环,每次内层循环5次。
在PL/pgSQL中可以声明使用以下几种变量类型:
1. 基本类型
- integer
- real
- numeric
- boolean
- char、varchar
2. 复合类型
- record
- rowtype
3. 引用类型
- refcursor
4. 自定义类型
可以通过创建自定义的复合类型、枚举类型、范围类型等,并在PL/pgSQL块中声明使用。
例如:
```sql
CREATE TYPE status AS ENUM ('new', 'open', 'closed');
DECLARE
user_status status;
```
5. 特殊变量
- FOUND
- NOTFOUND
- NULL
FOUND和NOTFOUND表示记录是否找到。NULL表示空值。
另外,在函数中还可以通过参数声明变量。
有关使用上的问题,欢迎您在底部评论区留言,一起交流~
- 作者:躁静有徒
- 链接:https://blog.zaojingyoutu.top//article/c788bec9-c1cc-4e33-83f1-2bbccd5739d3
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。