ORA-01756:引用的字符串未正确终止

Irv*_*en 0 sql oracle plsql

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 '+@colname+' FROM '+@tablename+'
  7* EXECUTE sp_executesql @query
SQL> /
ERROR:
ORA-01756: quoted string not properly terminated
Run Code Online (Sandbox Code Playgroud)

Qua*_*noi 5

这个错误非常自我描述,你有一个未终止的引用.

您正在尝试运行SQL Server代码Oracle.这不行.

你不能仅仅通过复制就变成T-SQLPL/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;
Run Code Online (Sandbox Code Playgroud)