1
3
仅限Oracle的注释:
|
2
1
如果您使用的是SQL Server,那么DDL语句是事务性的,所以将其包装在事务中(不过我认为这不适用于Oracle)。
我们将升级分成单独的补丁,这些补丁与特定的功能相匹配。应用了哪些补丁
如你所说,在开始之前做个备份是很重要的。 |
3
1
在过去,我必须做这样的改变,并且总是对数据丢失非常偏执。为了帮助降低这种风险,我总是对“沙盒”数据库进行大量的测试,这些数据库在模式和数据中尽可能紧密地反映了目标数据库。在推出流程之前,尽可能多地测试它,就像在应用程序的任何其他领域一样。 |
4
0
如果您显著地更改列的任何数据类型,例如将varchar更改为int,DBMS将死机,您可能会丢失该数据。幸运的是,现在DBMS足够智能,可以在不丢失数据的情况下进行一些数据类型转换,但是您不希望在进行更改时冒损坏任何数据类型的风险。 您不应该通过重命名列来释放任何数据,也绝对不应该通过添加新列来释放任何数据,这是您移动数据时必须考虑的问题。 首先,备份整个表,包括模式和数据,这样,一秒钟后您就可以回滚到以前的模式。第二,看看你想做的改变,看看它们有多剧烈——试着弄清楚到底需要改变什么。如果要进行数据类型转换,请首先将该数据推送到一个中间表中,其中包含3列、外键(ID或其他可以定位行的内容)、旧数据和新列。然后直接将旧数据推送到新列,或者在应用程序级别转换它。 当所有类型都正确并且一切都成功时,运行alter语句并重新填充数据库!做起来很简单,只需要一个逻辑思维过程。 |
Duvan · 将逗号(,)替换为点(.)[副本] 2 年前 |
Mateen Bagheri · 选择表的计数并选择其自身 2 年前 |
SoT · SQL Server中求和函数的工作方式 2 年前 |
NKAT · 将列值聚合到列表中会产生错误 2 年前 |
deanpillow · 返回两列中有一个匹配值的记录 2 年前 |
snowflakes74 · 在Dapper中异步查询多个结果 2 年前 |