Oracle颠覆以字母开头的传统(oracle不以字母开头)
Oracle:颠覆以字母开头的传统
在编写Oracle数据库程序时,传统的做法是将所有的对象名称都以字母开头。这个传统不仅仅是在Oracle中,而是在所有的关系数据库系统(RDBMS)中都有所体现。然而,Oracle 12c 中推出了一个令人兴奋的新功能,它允许用户使用数字开头的对象名称。这个新功能的引入将使得Oracle数据库程序开发变得更加灵活和易于维护。
以往,如果我们想要使用数字开头的对象名称,就必须在对象名称前加上名称修饰符,比如说“_5tb_customers”,但这种方法并不是很方便。另外,名称修饰符也会增加程序维护的难度。
然而,Oracle 12c 中的新功能解决了这个问题。现在,我们可以使用数字开头的对象名称。为了区分数字开头的对象名称和常规的对象名称(以字母开头),Oracle 12c 会自动将数字开头的对象名称加上双引号。这样一来,Oracle数据库程序的开发者就可以使用数字开头的对象名称,而不需要使用名称修饰符。
以下是一个简单的示例程序,通过该程序可以了解Oracle 12c中新功能的使用方法:
CREATE TABLE "123_CUST" (
CUST_ID NUMBER, CUST_NAME VARCHAR2(50),
CUST_PHONE VARCHAR2(20), CUST_ADDRESS VARCHAR2(200),
CONSTRNT PK_123_CUST PRIMARY KEY (CUST_ID));
在这个示例程序中,我们创建了一个名为123_CUST的表。不难注意到,该名称以数字开头,并使用了双引号。
总体来说,Oracle 12c 中的新功能将能够使得程序开发更加灵活和方便。开发者不再需要使用名称修饰符,因为Oracle数据库程序现在可以使用数字开头的对象名称。这个新功能的引入将使得程序开发变得更加简单,易于维护。 如果你是一个Oracle开发者或者数据库管理员,你会发现这个新功能会带来巨大的好处。
在接下来的示例中,我们将使用PROCEDURE和FUNCTION演示数字名称的使用。这里是一个示例PROGRAM代码:
CREATE OR REPLACE PROGRAM "1_test_program" AS
BEGIN NULL;
END 1_test_program;/
CREATE OR REPLACE FUNCTION "1_test_function" RETURN NUMBER ASBEGIN
RETURN 1;END 1_test_function;
/
在这个示例程序中,我们创建了一个名为“1_test_program”和一个名为“1_test_function”的新程序和函数。同样,这些名称以数字开头,并使用了双引号。
需要注意的是,Oracle 12c中该功能由于相关安全问题已经取消。