1:获取当前数据库中的所有用户表

select Name from sysobjects where xtype='u' and status>=0

  2:获取某一个表的所有字段

select name from syscolumns where id=object_id('表名')

  3:查看与某一个表相关的视图、存储过程、函数

select a.* from sysobjects a, syscomments b where a.id = b.id and b.text like '%表名%'

  4:查看当前数据库中所有存储过程

select name as 存储过程名称 from sysobjects where xtype='P'

  5:查询用户创建的所有数据库

select * from master..sysdatabases D where sid not in(select sid from master..syslogins where name='sa')

  或者

select dbid, name AS DB_NAME from master..sysdatabases where sid <> 0x01

  6:查询某一个表的字段和数据类型

select column_name,data_type from information_schema.columns  where table_name = '表名'

 
       比如说有A表的一个主键,作为B、C、D表的外键,可能你在某些时候修改A表中的某个记录,也许这个记录被BCD表已经用到,要修改很麻烦,昨天写了几个sql语句可以方便的实现这个要求,不过下班走的急,没来得及这里整理,周一上班再看贴上,初步计划是还有一个主要的应用,是在做子母表删除的时候,应该可以写一个函数,传入主键ID,然后删除所有子表的该记录,下周一实现。
实现上边所说功能的俩存储过程

 1sql server中系统表的作用--更新某主表下边对应的外键值
 2sql server中系统表的作用
 3sql server中系统表的作用CREATE PROCEDURE  Proc_UpdateFroeKeyVal
 4sql server中系统表的作用  @TblName varchar(50),
 5sql server中系统表的作用  @FroeKeyName varchar(50),
 6sql server中系统表的作用  @Value varchar(50)
 7sql server中系统表的作用  AS
 8sql server中系统表的作用
 9sql server中系统表的作用BEGIN 
10sql server中系统表的作用  declare @TblID varchar(50),
11sql server中系统表的作用        @ColuID varchar(50)
12sql server中系统表的作用  select  @TblID = id from  sysobjects where name = @TblName
13sql server中系统表的作用  select @ColuID = colid from syscolumns where id = @TblID and name = 'UserID'
14sql server中系统表的作用
15sql server中系统表的作用      select A.*,B.Name as F_TblName,C.Name as F_ColName  into #TmpTbl
16sql server中系统表的作用                  from 
17sql server中系统表的作用                     sysforeignkeys as A,sysobjects as B, syscolumns as C 
18sql server中系统表的作用                  where 
19sql server中系统表的作用                     A.rkeyid = @TblID
20sql server中系统表的作用                  And
21sql server中系统表的作用                     A.rkey = @ColuID
22sql server中系统表的作用                  And
23sql server中系统表的作用                     B.id = fkeyid
24sql server中系统表的作用                  And
25sql server中系统表的作用                     C.id = fkeyid
26sql server中系统表的作用                  And
27sql server中系统表的作用                     C.colid = fkey
28sql server中系统表的作用
29sql server中系统表的作用      declare @tabname varchar(40),@colName varchar(20),@sqlStr varchar(1024)
30sql server中系统表的作用      
31sql server中系统表的作用      DECLARE TabName_Cursor CURSOR FOR
32sql server中系统表的作用      SELECT F_TblName, F_ColName FROM #TmpTbl
33sql server中系统表的作用      OPEN TabName_Cursor
34sql server中系统表的作用      FETCH TabName_Cursor into @tabname,@colName
35sql server中系统表的作用      WHILE @@FETCH_STATUS = 0
36sql server中系统表的作用      BEGIN
37sql server中系统表的作用         select @sqlStr ='Update '+@tabname+' Set  '+@colName+' ='+ "'"+@Value +"'"
38sql server中系统表的作用         --print @sqlstr
39sql server中系统表的作用         exec(@sqlstr)
40sql server中系统表的作用         FETCH TabName_Cursor into  @tabname,@colName
41sql server中系统表的作用      END
42sql server中系统表的作用      CLOSE TabName_Cursor
43sql server中系统表的作用      DEALLOCATE TabName_Cursor
44sql server中系统表的作用END
45sql server中系统表的作用GO
46sql server中系统表的作用

继续

 1sql server中系统表的作用--删除某主表对应子表记录
 2sql server中系统表的作用
 3sql server中系统表的作用CREATE PROCEDURE  Proc_DelFroeKeyVal
 4sql server中系统表的作用  @TblName varchar(50),
 5sql server中系统表的作用  @FroeKeyName varchar(50),
 6sql server中系统表的作用  @Value varchar(50)
 7sql server中系统表的作用  AS
 8sql server中系统表的作用
 9sql server中系统表的作用BEGIN 
10sql server中系统表的作用  declare @TblID varchar(50),
11sql server中系统表的作用        @ColuID varchar(50)
12sql server中系统表的作用  select  @TblID = id from  sysobjects where name = @TblName
13sql server中系统表的作用  --select @TblID =OBJECT_ID ( 'T_User' )
14sql server中系统表的作用  select @ColuID = colid from syscolumns where id = @TblID and name = 'UserID'
15sql server中系统表的作用
16sql server中系统表的作用      select A.*,B.Name as F_TblName,C.Name as F_ColName  into #TmpTbl
17sql server中系统表的作用                  from 
18sql server中系统表的作用                     sysforeignkeys as A,sysobjects as B, syscolumns as C 
19sql server中系统表的作用                  where 
20sql server中系统表的作用                     A.rkeyid = @TblID
21sql server中系统表的作用                  And
22sql server中系统表的作用                     A.rkey = @ColuID
23sql server中系统表的作用                  And
24sql server中系统表的作用                     B.id = fkeyid
25sql server中系统表的作用                  And
26sql server中系统表的作用                     C.id = fkeyid
27sql server中系统表的作用                  And
28sql server中系统表的作用                     C.colid = fkey
29sql server中系统表的作用
30sql server中系统表的作用      declare @tabname varchar(40),@colName varchar(20),@sqlStr varchar(1024)
31sql server中系统表的作用      
32sql server中系统表的作用      DECLARE TabName_Cursor CURSOR FOR
33sql server中系统表的作用      SELECT F_TblName, F_ColName FROM #TmpTbl
34sql server中系统表的作用      OPEN TabName_Cursor
35sql server中系统表的作用      FETCH TabName_Cursor into @tabname,@colName
36sql server中系统表的作用      WHILE @@FETCH_STATUS = 0
37sql server中系统表的作用      BEGIN
38sql server中系统表的作用         select @sqlStr ='delete '+@tabname+' where  '+@colName+' ='+ "'"+@Value +"'"
39sql server中系统表的作用         --print @sqlstr
40sql server中系统表的作用         exec(@sqlstr)
41sql server中系统表的作用         FETCH TabName_Cursor into  @tabname,@colName
42sql server中系统表的作用      END
43sql server中系统表的作用      CLOSE TabName_Cursor
44sql server中系统表的作用      DEALLOCATE TabName_Cursor
45sql server中系统表的作用END


 
 

相关文章:

  • 2022-02-04
  • 2022-12-23
  • 2021-08-11
  • 2021-12-14
  • 2022-03-05
猜你喜欢
  • 2022-12-23
  • 2021-09-04
  • 2022-01-03
  • 2021-10-04
相关资源
相似解决方案