Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Plsql 如何在SQLPlus中运行PL/SQL代码?_Plsql_Sqlplus - Fatal编程技术网

Plsql 如何在SQLPlus中运行PL/SQL代码?

Plsql 如何在SQLPlus中运行PL/SQL代码?,plsql,sqlplus,Plsql,Sqlplus,我正在尝试在SQLPlus中运行以下代码: exec lbacsys.sa_sysdba.create_policy(policy_name => 'ACCESS_LOCATIONS', column_name => 'OLS_COLUMN', default_options => 'READ_CONTROL,INSERT_CO

我正在尝试在SQLPlus中运行以下代码:

exec lbacsys.sa_sysdba.create_policy(policy_name => 'ACCESS_LOCATIONS',
                                      column_name => 'OLS_COLUMN',
                                      default_options => 'READ_CONTROL,INSERT_CONTROL,UPDATE_CONTROL,DELETE_CONTROL,LABEL_DEFAULT,LABEL_UPDATE,CHECK_CONTROL,');
但是,我得到了以下错误:

BEGIN lbacsys.sa_sysdba.create_policy(policy_name => 'ACCESS_LOCATIONS',; END;

                                                                        *
ERROR at line 1:
ORA-06550: line 1, column 78:
PLS-00103: Encountered the symbol ";" when expecting one of the following:
( - + case mod new not null <an identifier>
<a double-quoted delimited-identifier> <a bind variable>
continue avg count current exists max min prior sql stddev
sum variance execute forall merge time timestamp interval
date <a string literal with character set specification>
<a number> <a single-quoted SQL string> pipe
<an alternatively-quoted string literal with character set specification>
<an alternatively
BEGIN lbacsys.sa_sysdba.create_policy(policy_name=>ACCESS_LOCATIONS',END;
*
第1行错误:
ORA-06550:第1行第78列:
PLS-00103:在预期以下情况时遇到“;”符号:
(+case mod new不为空)
继续平均计数当前存在最大最小优先sql STDEV
对所有合并时间时间戳间隔执行求和方差
日期
管

EXEC语句获取一行代码并将其包装在BEGIN/END块中。在这种情况下,您希望将调用拆分为几行代码,这样您可能会发现自己添加BEGIN/END更容易:

BEGIN
  lbacsys.sa_sysdba.create_policy(policy_name => 'ACCESS_LOCATIONS',
                                  column_name => 'OLS_COLUMN',
                                  default_options =>
       'READ_CONTROL,INSERT_CONTROL,'
    || 'UPDATE_CONTROL,DELETE_CONTROL,'
    || 'LABEL_DEFAULT,LABEL_UPDATE,CHECK_CONTROL,');
END;
/

EXEC语句获取一行代码并将其包装在BEGIN/END块中。在这种情况下,您希望将调用拆分为几行代码,这样您可能会发现自己添加BEGIN/END更容易:

BEGIN
  lbacsys.sa_sysdba.create_policy(policy_name => 'ACCESS_LOCATIONS',
                                  column_name => 'OLS_COLUMN',
                                  default_options =>
       'READ_CONTROL,INSERT_CONTROL,'
    || 'UPDATE_CONTROL,DELETE_CONTROL,'
    || 'LABEL_DEFAULT,LABEL_UPDATE,CHECK_CONTROL,');
END;
/