生成sql腳本
1.使用SQL Server Management Studio 2008 連接資料庫。 2.選中要導出數據的資料庫節點,點滑鼠右鍵,在菜單中選擇「任務」->「生成腳本 3.在彈出的歡迎界面中,點「下一步」 4.在選擇資料庫界面,選擇對應的資料庫,單擊「下一步」。 5.在「選擇腳本選項」界面中將「編寫數據的腳步」置為true。(注意:版本的選擇要正確,特別是在不同版本間相互使用時尤為重要!),選擇完畢單擊「下一步」。 6.在「選擇對象類型」界面,選擇對應的類型,如:表。單擊「下一步。」 7.在「選擇表」界面,選擇對應的關系表,然後單擊「下一步」。 8.在「輸出選項」界面,選擇對應的輸出模式,如:保存的文件。 9.在「腳本向導摘要」界面,顯示前面的選擇內容,查看即可,然後選擇「完成」。 10.最後,打開保存的腳本文件,下圖是最後生成的SQL腳本: 注意:這里一定要使用SQL Server Management Studio 2008,其它版本不行。
② 如何生成SQL2012的腳本
1.打開Management Studio,登錄到伺服器,在資料庫中選擇要轉移的資料庫,
右鍵--「任務(T)」--「生成腳本(E)...」。
2.在「生成和發布腳本」窗口中,點擊「下一步」,
3.「選擇要編寫腳本的資料庫對象」,可以不做設置,點擊「下一步」,
4.點擊[保存到文件]右邊的「高級」按鈕,在對話框中,設置「為伺服器版本編寫腳本」為「SQL Server 2008 R2」,
設置「要編寫腳本的數據的類型」為「架構和數據」。選擇保存腳本的位置。
5.下一步,再下一步。導出完成。
SQL Server 2008 R2導入的過程
1.打開Management Studio,登錄到伺服器,
2.選擇菜單「文件」——「打開」——「文件」,選擇.sql腳本文件,點擊工具欄中的「執行」按鈕。
3.在左側的「對象資源管理器」中右鍵「資料庫」——「刷新」。完畢。
③ 如何把SQL資料庫生成腳本 SQL語句
--將表數據生成SQL腳本的存儲過程
CREATEPROCEDUREdbo.UspOutputData
@tablenamesysname
AS
declare@columnvarchar(1000)
declare@columndatavarchar(1000)
declare@sqlvarchar(4000)
declare@xtypetinyint
declare@namesysname
declare@objectIdint
declare@objectnamesysname
declare@identint
setnocounton
set@objectId=object_id(@tablename)
if@objectIdisnull--判斷對象是否存在
begin
print'Theobjectnotexists'
return
end
set@objectname=rtrim(object_name(@objectId))
if@objectnameisnullorcharindex(@objectname,@tablename)=0--此判斷不嚴密
begin
print'objectnotincurrentdatabase'
return
end
ifOBJECTPROPERTY(@objectId,'IsTable')<>1--判斷對象是否是table
begin
print'Theobjectisnottable'
return
end
select@ident=status&0x80fromsyscolumnswhereid=@objectidandstatus&0x80=0x80
if@identisnotnull
print'SETIDENTITY_INSERT'+@TableName+'ON'
declaresyscolumns_cursorcursor
forselectc.name,[email protected]
opensyscolumns_cursor
set@column=''
set@columndata=''
fetchnextfromsyscolumns_cursorinto@name,@xtype
while@@fetch_status<>-1
begin
if@@fetch_status<>-2
begin
if@xtypenotin(189,34,35,99,98)--timestamp不需處理,image,text,ntext,sql_variant暫時不處理
begin
set@column=@column+casewhenlen(@column)=0then''else','end+@name
set@columndata=@columndata+casewhenlen(@columndata)=0then''else','','','
end
+casewhen@xtypein(167,175)then'''''''''+'+@name+'+'''''''''--varchar,char
when@xtypein(231,239)then'''N''''''+'+@name+'+'''''''''--nvarchar,nchar
when@xtype=61then'''''''''+convert(char(23),'+@name+',121)+'''''''''--datetime
when@xtype=58then'''''''''+convert(char(16),'+@name+',120)+'''''''''--smalldatetime
when@xtype=36then'''''''''+convert(char(36),'+@name+')+'''''''''--uniqueidentifier
else@nameend
end
end
fetchnextfromsyscolumns_cursorinto@name,@xtype
end
closesyscolumns_cursor
deallocatesyscolumns_cursor
set@sql='setnocountonselect''insert'+@tablename+'('+@column+')values(''as''--'','+@columndata+','')''from'+@tablename
print'--'+@sql
exec(@sql)
if@identisnotnull
print'SETIDENTITY_INSERT'+@TableName+'OFF'
GO
execUspOutputData你的表名
④ 淺談如何在SQL Server中生成腳本
在生成腳本過程中,有很多參數可以選擇,合理的配置這些參數,可以讓我們很方便的按照我們的期望生成腳本。
再後面就是確認生成選項,然後就生成了。
⑤ 如何將Excel中表結構數據自動生成SQL腳本的方法
一: 在本地PC新建一個Excel文件(例如:excel2007)
准備工作,左鍵選擇excel文本左上角的圖標,選擇「Excle選項」。1. 點擊「信任中心」->「信任中心設置」->「宏設置」->選擇「啟用所有宏...」選項。「開發人員宏設置」選項也勾選上。 2. 點擊「信任中心」->「信任中心設置」->選擇「個人信息選項」,將「文檔特定設置」上面默認選擇去掉,避免在保存腳本時報錯。
二: 在本地PC新建一個excel文件(例如: D:\testdate.xlsx)
按快捷鍵「ALT + F11」進入宏編輯,輸入如下代碼後保存。summary()為目標生成代碼,SQL()為生成SQL腳本文件代碼,按條件生成SQL的腳本如下:
Sub summary()
Dim i As Integer
i = 2
ThisWorkbook.Worksheets(1).Columns(2).Clear
For Each sh In ThisWorkbook.Worksheets
If sh.Name <> " " Then
ThisWorkbook.Worksheets(1).Cells(i, 2).Value = sh.Name
ThisWorkbook.Worksheets(1).Cells(i, 2).Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
sh.Name + "!A1", TextToDisplay:=sh.Name
i = i + 1
End If
Next sh
ThisWorkbook.Worksheets(1).Cells.Select
With Selection.Font
.Name = "目錄"
.Size = 9
.Strikethrough = False
.Superscript. = False
.Subscript. = False
.OutlineFont = False
.Shadow = False
.TintAndShade = 0
.ThemeFont = xlThemeFontNone
End With
End Sub
Sub SQL()
Dim i As Integer
i = 1
Dim ADO_Stream As Object
Dim strSQL, strDelSQL As String
Dim strTblName As String
Dim col As Long
Dim row As Long
Dim str As String
Dim PK As String
Dim cnt As Integer
PK = "PK"
Dim rowcounts As Long
rowcounts = 0
Dim filecount As Long
filecount = 0
Set ADO_Stream = CreateObject("ADODB.Stream")
ADO_Stream.Type = 2
ADO_Stream.Mode = 3
ADO_Stream.Charset = "unicode"
ADO_Stream.Open
Dim checkType As String
For Each sh In ThisWorkbook.Worksheets
cnt = 0
If sh.Name <> " " And InStr(sh.Name, "template") = 0 Then
strTblName = sh.Cells(1, 2).Value
rowcounts = 1
'Insert SQL
row = 6
Do While sh.Cells(row, 1).Value <> ""
strDelSQL = "delete from " + strTblName + " where "
strSQL = "Insert into " + strTblName + " ("
col = 1
Do While sh.Cells(3, col).Value <> ""
If col <> 1 Then
strSQL = strSQL + ", "
End If
strSQL = strSQL + sh.Cells(3, col).Value
col = col + 1
Loop
strSQL = strSQL + ") VALUES ("
col = 1
Do While sh.Cells(3, col).Value <> ""
str = Trim(CStr(sh.Cells(row, col).Value))
If InStr(Trim(CStr(sh.Cells(2, col).Value)), PK) <> 0 Then
If cnt > 0 Then
strDelSQL = strDelSQL + " and "
End If
strDelSQL = strDelSQL + Trim(CStr(sh.Cells(3, col).Value)) + " = '" + str + "'"
cnt = cnt + 1
End If
If col <> 1 Then
strSQL = strSQL + ", "
End If
If (InStr(Trim(CStr(sh.Cells(4, col).Value)), "Integer") = 0) And (InStr(Trim(CStr(sh.Cells(4, col).Value)), "Decimal") = 0) And ((InStr(Trim(CStr(sh.Cells(4, col).Value)), "DATE") = 0) Or _
((Len(str) > 0) And (InStr(Trim(CStr(sh.Cells(4, col).Value)), "DATE") > 0))) Then
If (Len(str) <= 0) And (InStr(Trim(CStr(sh.Cells(5, col).Value)), "No") = 0) Then
str = "NULL"
ElseIf InStr(Trim(CStr(sh.Cells(4, col).Value)), "DATE") > 0 Then
str = "to_date('" + str + "','yyyy-mm-dd hh24:mi:ss')"
Else
str = "'" + str + "'"
End If
strSQL = strSQL + str
ElseIf (Len(str) <= 0) And (InStr(Trim(CStr(sh.Cells(4, col).Value)), "DATE") > 0) Then
strSQL = strSQL + "NULL"
Else
If (Len(str) <= 0) And (InStr(Trim(CStr(sh.Cells(5, col).Value)), "No") = 0) Then
str = "NULL"
End If
strSQL = strSQL + str
End If
col = col + 1
Loop
strDelSQL = strDelSQL + ";" + vbCrLf
ADO_Stream.WriteText strDelSQL
strSQL = strSQL + ");" + vbCrLf
ADO_Stream.WriteText strSQL
row = row + 1
Loop
End If
i = i + 1
rowcounts = 0
filecount = 0
Next sh
ADO_Stream.SaveToFile ThisWorkbook.Path & "\MstSQL(delete by condition).txt", 2
ADO_Stream.Close
Set ADO_Stream = Nothing
End Sub
點擊「保存」宏腳本,主要的一步完成。
三: 在excel文件(test.xlsx)的首頁創建兩個圖標,分別選擇右鍵指定宏,一個指定上面的summary(),一個指定上面的SQL()。然後就可以在後續的sheet頁創建自己需要生成SQL腳本的表結構名稱了,記得每個sheet頁面對應一個表結構及數據,使用方法如下:
A,將需要更新的對象表數據整個sheet拷進工具中,數據只保留需要更新的數據。
B,在第2行標出主鍵欄位,填上「PK」即可。
看看代碼
http://www.51testing.com/html/41/195041-831346.html
⑥ 如何創建sql語句腳本
在MS
SQL
SERVER
中:
打開查詢分析器,選擇資料庫,在腳本編輯窗口中輸入SQL語句,點擊保存,即可將擴展名為SQL的腳本文件存入磁碟(默認我的文檔或選擇的文件夾)中。
⑦ sql如何生成sql文件
材料/工具:
1、打開資料庫
⑧ 資料庫如何生成腳本文件啊,SQL2008
右鍵點擊「資料庫」,在任務中選擇生成腳本
若要單獨生成某類對象(如表、存儲過程),
要將其中「為所選資料庫編寫全部對象」的勾去掉
在高級選項中,可以勾選是否生成所需的其他表的對象,
如索引、觸發器、全文索引等
⑨ 請教怎麼生成帶數據的SQL腳本
推薦一個工具,EMS
SQL
Manager
2007
Pro
for
MySQL
v4.4.1.2
特別版,可以把資料庫中存在的數據,生成sql語句的方式。
這個是
my
sql
的。
http://www.chinaz.cn/soft/17502.htm
ems
MSSQL
Manager
Pro
v1.8.0.1
特別版
--這個ms
sqlserver的
http://www.chinaz.cn/soft/9943.htm