
前言介绍
SQL Server 兼容模式是金仓数据库的一项功能,旨在原生支持 SQL Server 的系统表、T-SQL 语法、内置函数及其他特性。通过这种兼容模式,SQL Server 用户可以轻松实现向金仓数据库的迁移和转换,同时保持较低的迁移和学习成本。以下是该模式的主要特点和应用场景:
主要特点
系统表支持:金仓数据库原生支持 SQL Server 的系统表,如 sysprocesses 和 sys.schemas,使用户能够查询和管理数据库实例的运行信息。
T-SQL 语法支持:支持 SQL Server 的 T-SQL 语法,包括局部变量、全局变量、函数及临时表等,确保用户能够在金仓数据库中使用熟悉的 SQL Server 语法。
内置函数支持:兼容 SQL Server 的内置函数,如 identity() 和 patindex(),确保用户能够在金仓数据库中使用 SQL Server 的函数功能。
其他支持:支持 SQL Server 的其他特性,如局部临时表和自定义数据类型,进一步提升用户体验。
应用场景:
低成本迁移:SQL Server 用户可以通过金仓数据库的兼容模式,以极低的迁移和学习成本,迅速完成既有工作能力和公司所开发程序的迁移转换工作。
开发与测试:开发人员可以在金仓数据库中使用 SQL Server 的兼容模式进行开发和测试,确保应用程序在不同数据库系统之间的兼容性。
通过这些功能和应用场景,SQL Server 兼容模式为用户提供了一个便捷、高效的数据库迁移和转换解决方案。

游标使用体验
我们接下来体验一下游标在SQL server模式下的使用:
游标使用:-- 声明一个游标DECLARE shanjiacusor CURSOR FOR SELECT * FROM films;-- 打开游标OPEN shanjiacusor;-- 从游标中取出前 5 行FETCH FORWARD 5 FROM shanjiacusor;-- 取出前面一行FETCH PRIOR FROM shanjiacusor;-- 关闭游标CLOSE shanjiacusor;

-- 声明一个可滚动的游标DECLARE shanjiacusorsc SCROLL CURSOR FOR SELECT * FROM films;-- 打开游标OPEN shanjiacusorsc;-- 从游标中取出前 5 行FETCH FORWARD 5 FROM shanjiacusorsc;-- 使用 FETCH PRIOR 语句FETCH PRIOR FROM shanjiacusorsc;-- 关闭游标CLOSE shanjiacusorsc;

然后根据结果可以看到已经正常使用了。
注意事项:
性能影响:使用 SCROLL 选项可能会对查询性能产生一定的影响,特别是在处理大数据集时。因此,只有在确实需要反向扫描时才使用该选项。
游标类型:确保您的数据库系统和应用程序支持 SCROLL 游标。如果不支持,可能需要考虑其他方法来实现反向扫描。

系统函数件兼容性体验
金仓数据库兼容了大量SQL Server常用函数,比如:字符串函数、日期函数、数学函数、系统函数
##字符串函数SELECT LEFT('Kingbase', 4), CHARINDEX('n', 'Kingbase'), REPLACE('Shanjia', 'Jia', 'NB');

##日期函数SELECT GETDATE(), DATEDIFF(DAY, '2025-01-01', GETDATE()), DATEADD(MONTH, 3, GETDATE());

##数学函数SELECT ROUND(976.4237, 3), RAND(), ABS(-15);

##查看系统信息表SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE' and table_schema='PUBLIC';


总结




