成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

SQL點滴之篩選數據列的信息

數據庫 SQL Server
前面兩次點滴分享中,筆者與我們分享了SET QUOTED_IDENTIFIER 的作用,并給我們介紹了一個簡單的字符串分割函數。這一次,筆者為我們介紹怎么從SQL Server中找出所有的數據列的類型,字段大小,是否可為空,是否是主鍵,約束等等信息。

前面兩次點滴分享中,筆者與我們分享了SET QUOTED_IDENTIFIER 的作用,并給我們介紹了一個簡單的字符串分割函數。這一次,筆者為我們介紹怎么從SQL Server中找出所有的數據列的類型,字段大小,是否可為空,是否是主鍵,約束等等信息。

項目需要將Access數據庫中的數據導入到SQL Server中,需要檢驗導入后的數據完整性,數據值是否正確。我們使用的是Microsoft SQL Server 2008 Migration Assistant for Access這個工具,次工具專門用來將Access中的數據庫導出到SQL Server中,我們的疑慮是這個導出過程中會不會因為認為的原因導致數據錯誤或者數據之間的關聯丟失,看起來有點多次一舉,但是還是找方法來做測試。于是就產生了今天的問題,怎么從SQL Server中找出所有的數據列的類型,字段大小,是否可為空,是否是主鍵,約束等等信息。我找很多資料鼓搗出這個存儲過程,先來看看代碼:

  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. select * from #tempTable order by TABLE_NAME,COLUMN_NAME  
  44. drop table #tempTable  
  45. GO 

 
其實很簡單的,只要查查INFORMATION_SCHEMA.COLUMNS , INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE這兩個系統視圖的功能就能明白。來看看執行這個存儲過程得到的結果:

 

 下次介紹Microsoft SQL Server 2008 Migration Assistant for Access這個工具的用法。

 原文鏈接:http://www.cnblogs.com/tylerdonet/archive/2010/09/23/1833381.html

【編輯推薦】

  1. SQL點滴之SET QUOTED_IDENTIFIER OFF語句的作用
  2. SQL點滴之一個簡單的字符串分割函數
  3. 微博 請問你是怎么優化數據庫的?
  4. MySQL數據庫的優化(上)單機MySQL數據庫的優化
  5. MySQL數據庫的優化(下)MySQL數據庫的高可用架構方案

 

責任編輯:艾婧 來源: 博客園
相關推薦

2011-06-23 14:00:51

SQL點滴

2011-05-11 09:49:32

線程等待SQL Server

2011-09-13 10:25:05

數據庫點滴

2011-09-09 10:10:13

SQL數據庫點滴

2011-08-02 13:04:40

SQL Server

2011-05-06 16:36:48

SQL備份還原

2011-04-27 16:09:48

SQL ServerSSIS

2011-04-27 14:27:11

SQL Server

2011-10-09 16:40:50

T-SQL

2011-08-03 13:32:00

SQL Server優化

2011-04-28 09:49:56

SQLwith子查詢

2011-04-20 11:11:33

SQLSET QUOTED_

2011-04-22 15:00:22

SQLwin7登錄

2011-04-21 13:49:29

dementionSQL

2010-07-22 10:38:12

SQL Server所

2011-04-27 16:34:06

withSQL Server

2011-02-25 17:00:25

SQL閏年

2011-04-27 13:21:59

SQL Serverattach

2010-09-06 11:57:33

sql server語句

2011-04-27 15:55:16

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美日产国产成人免费图片 | 国产精品色 | 国产精品久久久久久模特 | 精品九九九 | 国产黄色大片 | 久久电影一区 | 免费国产视频 | 欧美国产亚洲一区二区 | 国产精品一区二区三区在线 | 国产综合在线视频 | 成人国产在线观看 | 在线看av的网址 | 拍拍无遮挡人做人爱视频免费观看 | 中文字幕一区二区三区四区 | 精品国产一区二区三区久久久蜜月 | 91精品国产91久久久久久 | 欧美日韩国产高清 | 欧洲一区视频 | 91精品国模一区二区三区 | 国产农村一级片 | 成人免费视频网站在线看 | 国产性网 | 欧美a∨ | 久久久久久久久久久国产 | 国产精品美女久久久久久久网站 | 欧美日韩三级视频 | 成人亚洲网 | 日韩精品久久久久久 | 国产免费一级一级 | 黄视频网站免费观看 | 99re视频在线观看 | 久久高清| 中文字幕在线一区 | 日韩国产一区二区三区 | 午夜视频在线免费观看 | 91久久精品视频 | 在线国产一区二区 | 成人av高清在线观看 | 成人免费在线播放视频 | 国产精品一区二 | 国产资源在线视频 |