gpt4 book ai didi

database - 单元测试 SQL 脚本

转载 作者:搜寻专家 更新时间:2023-10-30 20:33:30 25 4
gpt4 key购买 nike

.sql 文件中编写的以下脚本:

if not exists (select * from sys.tables where name='abc_form')
CREATE TABLE abc_forms (
x BIGINT IDENTITY,
y VARCHAR(60),
PRIMARY KEY (x)
)

上面的脚本在表名中有一个错误。

对于像 Java/C 这样的编程语言,编译器帮助解决了大部分的名称解析

对于任何 SQL 脚本,应该如何对它进行单元测试?静态分析...

最佳答案

15 年前,我通过大量脚本完成了您要求的事情。但是我们有特殊的语句格式。

我们有三种不同类型的文件:

  • 一个 SQL 文件来设置完整数据库模式的最新版本
  • 将所有更改应用到旧数据库模式的一个文件(自定义格式,如版本;SQL)
  • 代码在数据库上使用的 SQL 语句的一个文件(自定义格式,如 statementnumber;statement)

要求每条语句都在一行上,这样才能用awk提取出来!

1) 首先,我通过依次执行 from 语句并将错误记录到文件来设置最新版本的数据库。

2) 其次,我对所有更改都做了同样的操作以具有第二个模式

3) 我比较了两个数据库模式以找出任何差异

4) 我在完整的最新模式中填写了一些虚拟测试值进行测试

5) 最后但同样重要的是,我使用测试数据针对最新模式执行了每个 SQL 语句,并再次记录了每个错误。

最后,整个过程每晚都在运行,每个早晨都会出现 20 位开发人员中的一位在版本控制中出现的新错误。但它在新客户的下一次安装过程中为我们节省了大量时间。

关于database - 单元测试 SQL 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55183385/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com