2
有没有办法来声明一个全局变量或常量,可以在块的DECLARE部分和其他地方(如C#)中使用?Oracle全局常量或变量?
我有几个脚本根据他们的操作成功在日志表上设置不同的状态。 这样我们:
UPDATE LOG_TABLE SET STATUS = ''success' WHERE OBJECT_ID = :object_id
另外,我们有执行某些操作无法从Oracle做一个C#应用程序。此应用程序还根据其操作的成功设置了状态。
由于一些状态用于几个脚本和C#我想只在一个地方定义它们。然后从其他地方访问和使用它们。
有没有一种方法,我可以宣布类似于以后可以在PL/SQL块中使用这样的全局常量东西:
GLOBAL ORACLE CONSTANT=> MY_CONSTANT
DECLARE
my_update_script VARCHAR2(300) := 'UPDATE LOG_TABLE SET STATUS = '''|| MY_CONSTANT ||''' WHERE OBJECT_ID = :object_id;
而且还能够从C#中使用它?
使用“上下文变量”。它将在所有会话中具有相同的全球价值。 – 2015-02-05 13:22:57
在包规范中定义一个常量。或者创建一个函数返回一个常量(不知道后者的效率如何)。 – collapsar 2015-02-05 18:09:22
@LalitKumarB我对Context变量不是很了解,但是从我正在阅读的内容来看,如果我创建了全局应用程序上下文,它将适用于整个数据库和所有用户,我是否正确? – Dzyann 2015-02-05 20:31:41