首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于多个数据库服务器的SQL查询构建器

问用于多个数据库服务器的SQL查询构建器
EN

Stack Overflow用户
提问于 2013-05-11 01:33:45
回答 4查看 2.4K关注 0票数 1

我想在我的Petapoco ORM项目中支持多个数据库管理系统,例如: Oracle、SQL Server、MySQL等。因此,我需要使用支持多个数据库的SQL查询构建器。

查询问题的一个基本示例:

SQL Server中用于获取前两条记录的查询为:

代码语言:javascript
复制
SELECT TOP 2 * FROM table_name

但在Oracle中,它是:

代码语言:javascript
复制
SELECT * FROM table_name WHERE ROWNUM <=2
EN

回答 4

Stack Overflow用户

发布于 2013-06-25 20:44:44

使用内置的Page方法或SkipTake。

它会将分页代码包装在您的sql中。

例如:

代码语言:javascript
复制
db.Fetch<User>(1, 10, "select * from table_name order by id");

这将生成类似如下的内容:

代码语言:javascript
复制
select * from (select *, row_number() over (order by id) from table_name) poco
where row_num between 0 and 10

这对Oracle和Sql Server都有效。Mysql和Postgres将使用自己的变体。例如LIMIT

票数 1
EN

Stack Overflow用户

发布于 2013-05-11 01:43:57

票数 0
EN

Stack Overflow用户

发布于 2013-05-13 17:18:10

试试EasyQuery。

这个库有Query对象,用于以某种内部格式存储查询并生成SQL。Query对象具有Formats属性,该属性允许您调整生成的SQL语句的语法。大多数流行的数据库(MS SQL Server、Oracle、MySQL等)都有几个预定义的值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16487857

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档