Oracle is a popular relational database management system that is widely used in enterprise applications, web applications and cloud computing platforms. When working with Oracle, setting default values is very important as it helps reduce input errors and provides default values for columns in tables, thus improving data integrity and consistency. In this article, we will discuss how to set Oracle defaults.
First, let us understand the concept of default values in Oracle. The default value refers to specifying an initial value for a column when creating the table. If the user does not provide a value for the column, then it will take the default value. The default value can be a fixed value, such as a date, a string, a number, or an expression, such as the current time, system date, etc.
There are two ways to set Oracle default values: setting default values at the column level and setting default values at the global level.
Set default values at the column level
When creating a table, you can specify a default value at the column level. For example, here is an example of creating a table called "employees":
CREATE TABLE employees ( id NUMBER(10) PRIMARY KEY, name VARCHAR2(50) NOT NULL, email VARCHAR2(100) DEFAULT 'info@example.com', date_of_birth DATE DEFAULT SYSDATE );
In this example, we have set default values on the 'email' column and the 'date_of_birth' column respectively. When a new record is inserted, if no value is provided for the 'email' and 'date_of_birth' columns, they will use the default value. Note that default values do not need to be specified in every insert statement.
To delete a default value, you can use the following syntax:
ALTER TABLE employees MODIFY email DEFAULT NULL;
In this example, we deleted the default value of the 'email' column, which can now contain NULL values.
Set default values at the global level
In Oracle 12c and later, you can use the ALTER SESSION statement to set default values at the global level. This default value will apply to all columns in new tables.
For example, the following syntax sets a global default value that will apply to columns in all new tables:
ALTER SESSION SET "_ORACLE_SCRIPT_DEFAULTS"='DEFAULT ON NULL';
You can also use the following syntax to set the default value back to NULL:
ALTER SESSION SET "_ORACLE_SCRIPT_DEFAULTS"='DEFAULT';
Please note that you must be particularly careful if you use this method to set default values. If used incorrectly, it may cause unintended consequences. Therefore, it is recommended to set default values at the column level.
Conclusion
Oracle default values help improve data integrity and consistency. By assigning default values to columns, you avoid typing errors and ensure data remains consistent across the table. In Oracle you can set default values at column level and global level. When setting default values, be careful to use correct syntax and be careful not to cause unintended consequences.
The above is the detailed content of Discuss how to set Oracle defaults. For more information, please follow other related articles on the PHP Chinese website!