SQL语句提问

来源:百度知道 编辑:UC知道 时间:2024/06/21 09:58:25
一个表有两列A和B,现在我希望插入数据不指定B的值时,B的值等于A的值,指定B的值时B就是指定值,这样的表该如何写?

比如
insert into table([A],[B])values('A','B')
此时A列值为A,B列值为B
insert into table([A])values('A')
此时A列B列值都为A

你应该是用在程序中你可以在程序中动态生成sql语句

还是需要在程序中判断,然后生成相应sql语句。

光sql的功能似乎完成不了你的要求。 sql建表里的列默认值是常量。

以上要求只能选取一种,比如第二种

insert into table([A])values('A')
此时A列B列值都为A

create table T (a int, b as a)
insert into T select 100
select * from T
drop table T

/*
a b
--------------
100 100
*/

你的基本语法就有错误
最起码你应该先建立一张表才能进行插入操作啊

create table test ([A] varchar(10) , [B] varchar(10))

insert into test ([A] , [B]) values ('A' , 'B')

得到[A]列为A [B]列为B

insert into test ([A]) values('A')

得到[A]列为A [B]为空