下面这个sql语句是oracle语法写的,现在要执行sqlserver的数据库,结果执行不了
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了下面这个sql语句是oracle语法写的,现在要执行sqlserver的数据库,结果执行不了相关的知识,希望对你有一定的参考价值。
sql语句:select * from (select ri.ReportValueAll, ri.TestItemName, ri.ItemNo, ri.Unit, ri.RefRange, ri.ResultStatus, rf.CheckDate, rf.CheckTime "
+ "from ReportFormView rf, ReportItemView ri "
+ "where rf.PatNo = '" + hid + "' and rf.SerialNo = ri.SerialNo and ri.TestItemName in (" + "'血红蛋白量', '*血红蛋白量', '嗜酸性粒细胞绝对值'" + ")"
+ "group by rf.PatNo ,rf.SerialNo, ri.ReportValueAll, ri.TestItemName, ri.Unit, ri.RefRange, ri.ItemNo, ri.ResultStatus, rf.CheckDate, rf.CheckTime "
+ "order by rf.CheckDate desc, rf.CheckTime desc) where rownum = 1
执行错误:java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]除非另外还指定了 TOP 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效。
谁知道上面语句中的哪个语法在执行sqlserver数据库的时候不对啊?大神帮忙。。
select top 1 * from (select ri.ReportValueAll, ri.TestItemName, ri.ItemNo, ri.Unit, ri.RefRange, ri.ResultStatus, rf.CheckDate, rf.CheckTime "
+ "from ReportFormView rf, ReportItemView ri "
+ "where rf.PatNo = '" + hid + "' and rf.SerialNo = ri.SerialNo and ri.TestItemName in (" + "'血红蛋白量', '*血红蛋白量', '嗜酸性粒细胞绝对值'" + ")"
+ "group by rf.PatNo ,rf.SerialNo, ri.ReportValueAll, ri.TestItemName, ri.Unit, ri.RefRange, ri.ItemNo, ri.ResultStatus, rf.CheckDate, rf.CheckTime "
+ "order by rf.CheckDate desc, rf.CheckTime desc) a追问
我试过了,您这种方式不能用
追答我看不出来。
错误信息是什么?
oracle如何执行多条create 语句
哎-- 我最后自己在网上找到答案了,是这样的
如果你有很多表要一起创建。
在SQL2005中是可以使用GO关键字的
但是oracle没有GO
就只能这样
声明:这个方法是我在网上找到的并非我自己原创。而且在提问题之前我也不知道,是后来才找到的。
create tablename
();
/
create tablename
();
/
create tablename
();
注意这个斜杠一定要单独空一行。要不一样报错的。
在用户的sqlplus里执行
grant create table to 用户;
之后就可以在存储过程里的动态SQL里做包含create table的语句了。
同样 create view的话就应该执行
grant create view to 用户;
如:
str := 'create table 表名 '
execute immediate str;
参考技术B 每条建表语句用分号隔开,
把所有的语句保存到一个*.sql文件中,然后再sql提示符状态下运行. 参考技术C 中间用 ; 隔开 参考技术D create or replace XXXX
();
create or replace XXXX
();
以上是关于下面这个sql语句是oracle语法写的,现在要执行sqlserver的数据库,结果执行不了的主要内容,如果未能解决你的问题,请参考以下文章