如何在SQL表中插入默认值?
我有这样一张桌子:
create table1 (field1 int, field2 int default 5557, field3 int default 1337, field4 int default 1337) 我想插入一个具有field2和field4的默认值的行。
 我已经尝试insert into table1 values (5,null,10,null)但它不起作用, ISNULL(field2,default)也不起作用。 
当我插入一行时,如何告诉数据库使用列的默认值?
只是不要在插入语句中包含要使用默认值的列。 例如:
 INSERT INTO table1 (field1, field3) VALUES (5, 10); 
  …将采用field2和field4的默认值,并将5分配给field1 ,将10分配给field3 。 
最好的做法是列出你的列,这样你独立于表的变化(新的列或列顺序等)
 insert into table1 (field1, field3) values (5,10) 
 但是,如果您不想这样做,请使用DEFAULT关键字 
 insert into table1 values (5, DEFAULT, 10, DEFAULT) 
像这样尝试
 INSERT INTO table1 (field1, field3) VALUES (5,10) 
那么field2和field4应该有默认值。
最好的方法是:
 insert your_table default values 
 如果你的列不应该包含NULL值,你需要定义列为NOT NULL ,否则在NULL传递将被使用,而不是默认的,不会产生错误。 
如果您没有向这些字段传递任何值(这要求您指定您想要使用的字段),则会使用默认值:
 INSERT INTO table1 (field1, field3) VALUES (5,10) 
要插入默认值,您应该省略它们,如下所示:
 Insert into Table (Field2) values(5) 
如果已定义,所有其他字段将为空或其默认值。
 CREATE PROC SP_EMPLOYEE --By Using TYPE parameter and CASE in Stored procedure (@TYPE INT) AS BEGIN IF @TYPE=1 BEGIN SELECT DESIGID,DESIGNAME FROM GP_DESIGNATION END IF @TYPE=2 BEGIN SELECT ID,NAME,DESIGNAME, case D.ISACTIVE when 'Y' then 'ISACTIVE' when 'N' then 'INACTIVE' else 'not' end as ACTIVE FROM GP_EMPLOYEEDETAILS ED JOIN GP_DESIGNATION D ON ED.DESIGNATION=D.DESIGID END END