please let me know the issue with following script (sql,oracle 10g)
1 DECLARE @colname AS NVARCHAR(50)
2 DECLARE @tablename AS NVARCHAR(500)
3 DEClARE @query AS NVARCHAR(500)
4 SET @colname = 'select wk_units1 from cnt_sls_dm.fct_sales_summary'
5 SET @tablename = 'SELECT tablename from dmi_user.fct_sales_meta'
6 set @query='select '[email protected]+' FROM '[email protected]+'
7* EXECUTE sp_executesql @query
SQL>/
ERROR:
ORA-01756: quoted string not properly terminated
0
A
回答
2
更改线路6
set @query='select '[email protected]+' FROM '[email protected]
0
6号线好像不是在你的榜样正确的:
set @query='select '[email protected]+' FROM '[email protected]+'
您结束此行与'
。要么您删除+'
,要么完成您的请求与where
声明...
5
这个错误是相当自我描述,你有一个未终止的报价。
您正在尝试运行Oracle
中的SQL Server
代码。这不起作用。
您不能仅仅通过复制将T-SQL
转换为PL/SQL
。
我更正了语法,但很可能您需要比这更多的工作。
DECLARE
colname NVARCHAR2(50);
tname NVARCHAR2(500);
query NVARCHAR2(500);
BEGIN
SELECT wk_units1
INTO colname
FROM cnt_sls_dm.fct_sales_summary;
SELECT tablename
INTO tname
FROM dmi_user.fct_sales_meta;
query := 'SELECT ' || colname || ' FROM ' || tname;
END;
+0
+1,我错过了Oracle的一部分! – RedFilter 2009-09-02 12:32:01
0
这看起来很像tSql,而不是pl SQl,你可能想用||连接Oracle和varchar2中的字符串而不是nvarchar
0
以下是正确的方式来回答问题........ 运行良好.......... 感谢所有谁帮助......
-Irveen
DECLARE
type fct_sales_summary_cur is table of dmi_user.fct_sales_summary_cmp_1%rowtype index by binary_integer;
cur_rec fct_sales_summary_cur;
colname NVARCHAR2(50);
tname NVARCHAR2(500);
query VARCHAR2(500);
cnt number:=1;
BEGIN
loop
SELECT colname
INTO colname
FROM dmi_user.FCT_SALES_META
where sno=cnt;
SELECT tablename
INTO tname
FROM dmi_user.fct_sales_meta
WHERE sno=cnt;
--query:='select * from dmi_user.fct_sales_summary_cmp';
query := 'SELECT '|| colname ||' FROM '||tname;
-- dbms_output.put_line(colname);
-- dbms_output.put_line(tname);
--dbms_output.put_line(query);
execute immediate query bulk collect into cur_rec;
--dbms_output.put_line(cur_rec);
dbms_output.put_line('------Table-Sno -----' || cnt);
for i in cur_rec.first..cur_rec.last loop
dbms_output.put_line(cur_rec(i).wk_units1);
end loop;
cnt:=cnt+1;
exit when cnt=4;
end loop;
END;
/
相关问题
- 1. Python字符串精确结束,没有附加字符
- 2. Oracle:SQL没有正确结束
- 3. ORA-01756:引用的字符串没有正确终止
- 4. 引用的字符串没有正确终止
- 5. 正确的字符串开始和结束的数字
- 6. 字符串文字没有通过双引号正确关闭引用
- 7. isEqualToString:没有正确比较字符串
- 8. Java循环还没有结束正确
- 9. 有没有可以帮助我的服务正确引用SQL字符串?
- 10. Elasticsearch子字符匹配没有结束
- 11. 未结束的字符串
- 12. 未结束的字符串
- 13. 未结束的字符串
- 14. 从字符串开始索引到结束字符阵列
- 15. 得到启动的所有单词/结束索引字符串
- 16. Golang字符串结束字符
- 17. 的preg_match():没有结束符
- 18. YQL和cURL - 引用字符没有正确返回
- 19. 确定文件是否以EOF字符正确结束
- 20. 字符串常量必须用双引号SQL报告结束
- 21. Javascript的问题 - 没有通过字符串与前导'0'正确字符串
- 22. 输入字符串格式不正确。但是我没有字符串数据
- 23. 列表中的字符串没有正确添加到空字符串
- 24. 字符串分割多结束符
- 25. 有没有正确处理Unicode的STL字符串类?
- 26. 抓住所有的字符串开始,以字符php结束
- 27. “消息结束”套接字字符串
- 28. 使用正则表达式匹配字符串的开始和结束字符
- 29. 确保字符串中没有整数?
- 30. 没有引号的爆炸字符串
这不是一个T-SQL(MS SQL)查询? – 2009-09-02 12:10:11