gpt4 book ai didi

sql - 如何从 SQL Server 创建可移植插入?

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

现在它生成像这样的插入

INSERT [Bla] ([id], [description], [name], [version])
VALUES (CAST(1 AS Numeric(19, 0)), convert(t...

它非常特定于 SQL Server。我想创建一个每个人都可以使用的脚本,与数据库无关。我有非常简单的数据类型 - varchars、数字、日期、位( bool 值)。

我觉得

insert into bla values (1, 'die', '2001-01-01 11:11:11')

应该适用于所有 DBMS,对吧?

最佳答案

一些基本规则:

去掉方括号。在您的情况下,不需要它们——甚至在 SQL Server 中也不需要。 (同时确保您从不在列名或表名中使用保留字或特殊字符)。

如果您确实需要使用特殊字符或保留字(我不推荐这样做),请使用标准双引号(例如“GROUP”)。

但请记住,名称区分大小写:my_tableMY_TABLE 相同,但 "my_table""不同MY_TABLE" 根据标准。同样,这可能因 DBMS 及其配置而异。

CAST 运算符是标准的,适用于大多数 DBMS(尽管并非所有都支持所有可能组合中的转换)。

convert() 是特定于 SQL Server 的,应替换为适当的 CAST 表达式。

尝试以正确的数据类型指定值,永远不要依赖隐式数据转换(因此不要将“1”用作数字)。尽管我认为不需要将 1 强制转换为 numeric() 。

通常我还建议对 DATE/TIMESTAMP 文字使用 ANSI 文字(例如 DATE '2011-03-14'),但 SQL Server 不支持。所以它不会对你有太大帮助。

关于sql - 如何从 SQL Server 创建可移植插入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5296363/

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