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. 引號的字符串沒有正確結束異常
- 2. 插入INTO語句引起ORA-01756:引用字符串沒有正確結束
- 3. Python字符串精確結束,沒有附加字符
- 4. Oracle:SQL沒有正確結束
- 5. PL SQL塊被引用的字符串沒有正確終止
- 6. 引用的字符串沒有正確終止
- 7. ORA-01756:引用的字符串沒有正確終止
- 8. 正確的字符串開始和結束的數字
- 9. 字符串文字沒有通過雙引號正確關閉引用
- 10. xml字符串沒有正確渲染
- 11. drawString沒有正確寫入字符串
- 12. Bukkit字符串沒有正確讀取
- 13. Java循環還沒有結束正確
- 14. 字符串不會在循環結束時正確復位 - Python
- 15. 有沒有可以幫助我的服務正確引用SQL字符串?
- 16. Elasticsearch子字符匹配沒有結束
- 17. 未結束的字符串
- 18. 未結束的字符串
- 19. 未結束的字符串
- 20. 未結束的字符串
- 21. 得到啓動的所有單詞/結束索引字符串
- 22. 從字符串開始索引到結束字符陣列
- 23. 正確索引字符串列表
- 24. 插入字符字符串結束數
- 25. Golang字符串結束字符
- 26. 的preg_match():沒有結束符
- 27. 's'附近的語法不正確。在字符串'''後沒有使用引號'
- 28. YQL和cURL - 引用字符沒有正確返回
- 29. 構建與字符串1開始,但包含字符串並沒有結束正則表達式
- 30. 正確結束SoundEffectInstance
這不是一個T-SQL(MS SQL)查詢? – 2009-09-02 12:10:11