未找到关键字是搜索目标错误。SIZE,DATE都是oracle关键字,不能出现在sql的as后面。写成 size1,date1 会解决“未找到要求的 FROM 关键字”问题。
所描述代码也是不对的,FILECONTENTTYPE = 'folders'FILEPATH = '出现的地方也不对,不应该在select子句中,而是在where后。
oracle错误检查办法。
1、检查SQL语句语法是否正确。
2、检查SQL语句中是否包含特殊字符。
3、检查SQL语句结尾是否包含分号。
4、检查SQL是否包含中文逗号。
5、检查数据库表是否存在。
SIZE,DATE都是oracle关键字,不能出现在sql的as后面。
写成 size1,date1 会解决“未找到要求的 FROM 关键字”问题。
另外, FILECONTENTTYPE = 'folders'FILEPATH = ''出现的地方也不对,不应该在select子句中,而是在where后。
修改成:
SELECT FOLDERGUID AS FILEGUID,
FOLDERNAME AS NAME,
NULL AS SIZE1,
CREATDATE AS DATE1,
'' AS USERNAME,
CONVERT(NVARCHAR, BELONGTYPE) AS TYPE
FROM MISC_NETHARDDISKFOLDER
WHERE PARENTFOLDERGUID = '46a73c5e-51e1-4056-bedc-6039a26478e5' AND
FILECONTENTTYPE = 'folders' AND FILEPATH = ''
UNION ALL
SELECT FILEGUID AS FILEGUID,
FILENAME AS NAME,
FILELENGTH AS SIZE2,
UPLOADDATE AS DATE2,
UPLOADDISPLAYNAME AS USERNAME,
FILECONTENTTYPE AS FILECONTENTTYPE,
ATTACHTYPE AS TYPE,
FILEPATH AS FILEPATH
FROM MISC_NETHARDDISKFILES
WHERE FOLDERGUID = '46a73c5e-51e1-4056-bedc-6039a26478e5'
可以保证至少没有语法错误。
你用sqlserver的SQL去访问oracle数据库,当然要出错的
oracle没有top
3的
正确的写法是
select
*
from
t_employee
where
rownum
<=
3
order
by
fsalary
desc
;
检查一下是不是少标点符号、空格什么的,用SQL格式化工具查看一下。
怎么解决的呀?我也遇到了同样的问题!