|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
在执行崩溃恢复时,理解在一个数据库中的每一个表tbl_name对应的在数据库目录中的3个文件是很重要的:正在作一个关于SQLSERVER数据库导进Excel文件的程序,要读取数据库中的列的信息,从网上找了良多材料,终究总结出来对照幻想的sql语句,实行后前往的列分离是:表名、列名、列范例、列长度、列形貌、是不是主键,语句以下:1 SelectSysobjects.NameAsTb_name,Syscolumns.NameAsCol_name,Systypes.NameAsCol_type,Syscolumns.LengthAsCol_len,Isnull(Sysproperties.Value,Syscolumns.Name)AsCol_memo,
2 CaseWhenSyscolumns.NameIn
3 (Select主键=A.Name
4 FromSyscolumnsA
5 InnerJoinSysobjectsBOnA.Id=B.IdAndB.Xtype=UAndB.NameDtproperties
6 WhereExists(Select1FromSysobjectsWhereXtype=PkAndNameIn(
7 SelectNameFromSysindexesWhereIndidIn(
8 SelectIndidFromSysindexkeysWhereId=A.IdAndColid=A.Colid
9 )))
10 AndB.Name=Sysobjects.Name
11 )
12 Then1Else0EndAsIs_key
13
14 FromSysobjects,Systypes,Syscolumns
15 LeftJoinSyspropertiesOn(Syscolumns.Id=Sysproperties.IdAnd
16 Syscolumns.Colid=Sysproperties.Smallid)
17
18 Where(Sysobjects.Xtype=UOrSysobjects.Xtype=V)
19 AndSysobjects.Id=Syscolumns.IdAndSystypes.Xtype=Syscolumns.Xtype
20 AndSystypes.NameSysnameAndSysobjects.NameLike%OrderBySysobjects.Name,Syscolumns.Colid
了局如图:
因此我们的保存数据方法就是:在删除的动作开始之前,把表数据备份起来,然后留一个空表,在空表上执行“删除”操作。 |
|