1.nvarchar:可变长度Unicode字符(所以它相比varchar多了一个n字母)
varchar:可变长度非Unicode字符
2.CHECK 约束用于限制列中的值的范围。 (即可以定义列也可能定义表),比如要建一个表:账户(顾客姓名,存款数(使用表约束规定不少于1元)),建表语句如下:
create table account(
usrname varchar(50) primary key,
balance float,
--看,约束语句来了
check (balance>1)
)
3.rollback的作用:将显式事务或隐性事务回滚到事务的起点或事务内的某个保存点。比如现在有一个空表test(id,val),我们执行如下语句:
begin transaction t1;
print('begin t1');
insert into test values(1,0.1);
save transaction s1;
print ('save s1');
insert into test values(2,0.2);
save transaction s2;
print('save s2');
insert into test values(3,0.3);
rollback transaction s1;
commit transaction t1;
go
虽然SQL server显示有三行发生了改变:
但是我们去看test表的时候,显示只有一行发生了变化:
说明我们的操作回滚到了s1这个保存点,也就是只插入了一行数据