国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > SQL Server > 正文

SQL點(diǎn)滴3—篩選數(shù)據(jù)列的類型,字段大小,是否可為空,是否是主鍵,約束等等信息

2019-11-03 08:33:18
字體:
供稿:網(wǎng)友

項(xiàng)目需要將access數(shù)據(jù)庫中的數(shù)據(jù)導(dǎo)入到SQL Server中,需要檢驗(yàn)導(dǎo)入后的數(shù)據(jù)完整性,數(shù)據(jù)值是否正確。我們使用的是Microsoft SQL Server 2008 Migration Assistant for Access這個(gè)工具,次工具專門用來將Access中的數(shù)據(jù)庫導(dǎo)出到SQL Server中,我們的疑慮是這個(gè)導(dǎo)出過程中會(huì)不會(huì)因?yàn)檎J(rèn)為的原因?qū)е聰?shù)據(jù)錯(cuò)誤或者數(shù)據(jù)之間的關(guān)聯(lián)丟失,看起來有點(diǎn)多次一舉,但是還是找方法來做測(cè)試。于是就產(chǎn)生了今天的問題,怎么從SQL Server中找出所有的數(shù)據(jù)列的類型,字段大小,是否可為空,是否是主鍵,約束等等信息。我找很多資料鼓搗出這個(gè)存儲(chǔ)過程,先來看看代碼:

代碼
 1 USE [MIS]
 2 GO
 3
 4 /****** Object:  StoredPRocedure [dbo].[sp_SelectColumnInfor]    Script Date: 09/23/2010 19:00:28 ******/
 5 SET ANSI_NULLS ON
 6 GO
 7
 8 SET QUOTED_IDENTIFIER ON
 9 GO
10
11 create procedure [dbo].[sp_SelectColumnInfor]
12 as
13 declare @table_name varchar(250)
14 --create a temp table
15 create table #tempTable(
16 TABLE_NAME nvarchar(128),
17 COLUMN_NAME nvarchar(128),
18 IS_NULLABLE varchar(3),
19 DATA_TYPE nvarchar(128),
20 CHARACTER_MAXIMUM_LENGTH int,
21 CONSTRAINT_NAME nvarchar(128),
22 )
23 --create a cursor
24 declare curTABLE cursor for
25 select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_TYPE='BASE TABLE'
26 for read only
27
28 open curTABLE
29 fetch next from curTABLE into @table_name
30 while @@FETCH_STATUS =0
31 begin
32 insert into #tempTable
33 select sc.[TABLE_NAME],sc.[COLUMN_NAME],sc.[IS_NULLABLE],sc.[DATA_TYPE],sc.[CHARACTER_MAXIMUM_LENGTH]
34 ,scc.CONSTRAINT_NAME
35  from INFORMATION_SCHEMA.COLUMNS sc
36 left join INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE scc on sc.COLUMN_NAME=scc.COLUMN_NAME and sc.TABLE_NAME=scc.TABLE_NAME
37 where sc.[TABLE_NAME]=@table_name --order by TABLE_NAME,COLUMN_NAME
38
39 fetch next from curTABLE into @table_name
40 end
41 close curTABLE
42 deallocate curTABLE
43
44 select * from #tempTable order by TABLE_NAME,COLUMN_NAME
45 drop table #tempTable
46 GO

其實(shí)很簡單的,只要查查INFORMATION_SCHEMA.COLUMNS , INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE這兩個(gè)系統(tǒng)視圖的功能就能明白。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 汶川县| 新巴尔虎右旗| 扎赉特旗| 安阳市| 循化| 长乐市| 五大连池市| 沛县| 安新县| 勃利县| 乌苏市| 无棣县| 澄迈县| 安吉县| 嵩明县| 泊头市| 沂南县| 运城市| 三门峡市| 宜川县| 丹巴县| 蚌埠市| 芮城县| 论坛| 清丰县| 尼勒克县| 静海县| 军事| 宜宾县| 旬邑县| 化州市| 洛宁县| 祁连县| 四子王旗| 嫩江县| 新野县| 庐江县| 依兰县| 沧源| 新和县| 康平县|