Problem
A table can be defined to take default values for specific columns. You want to insert a row of default values without having to specify those values. Consider the following table:
create table D (id integer default 0)
You want to insert zero without explicitly specifying zero in the values list of an INSERT statement. You want to explicitly insert the default, whatever that default is.
Solution
All brands support use of the DEFAULT keyword as a way of explicitly specifying the default value for a column. Some brands provide additional ways to solve the problem.
The following example illustrates the use of the DEFAULT keyword:
insert into D values (default)
You may also explicitly specify the column name, which you'll need to do anytime you are not inserting into all columns of a table:
insert into D (id) values (default)
Oracle8i Database and prior versions do not support the DEFAULT keyword. Prior to Oracle9i Database, there was no way to explicitly insert a default column value.
MySQL allows you to specify an empty values list if all columns have a default value defined:
insert into D values ()
In this case, all columns will be set to their default values.
PostgreSQL and SQL Server support a DEFAULT VALUES clause:
insert into D default values
The DEFAULT VALUES clause causes all columns to take on their default values.
Discussion
The DEFAULT keyword in the values list will insert the value that was specified as the default for a particular column during table creation. The keyword is available for all DBMSs.
MySQL, PostgreSQL, and SQL Server users have another option available if all columns in the table are defined with a default value (as table D is in this case). You may use an empty VALUES list (MySQL) or specify the DEFAULT VALUES clause (PostgreSQL and SQL Server) to create a new row with all default values; otherwise, you need to specify DEFAULT for each column in the table.
For tables with a mix of default and non-default columns, inserting default values for a column is as easy as excluding the column from the insert list; you do not need to use the DEFAULT keyword. Say that table D had an additional column that was not defined with a default value:
create table D (id integer default 0, foo varchar(10))
You can insert a default for ID by listing only FOO in the insert list:
insert into D (name) values ('Bar')
This statement will result in a row in which ID is 0 and FOO is "Bar". ID takes on its default value because no other value is specified.
** If you want the Full Table detail. Refer the SQL Table in Label List. Or Click here to View the Table
0 Comments:
Post a Comment