當前位置:首頁 » 編程語言 » webi報表中生成的sql腳本
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

webi報表中生成的sql腳本

發布時間: 2022-04-04 03:00:28

❶ 生成的sql腳本放在哪

如果很重要 或者留著有用就放在你的硬碟里就行了,
如果想和別人共享 放在一個共享軟體就好了.
建議sql都留有自己的備份.

❷ 如何將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語句

使用PRINT一般是寫程序時觀察中間結果,對於你說的這種情況,可以直接用SELECT輸出結果,在存儲過程里也可以這樣。如果是在函數或者觸發器里,可以建個測試表,如果是表值函數則可以定義一個表變數。

如果一定要print,那麼這樣吧:
delcare @number int
declare @course nvarchar(30) --for example
select @number=number,@course=course from choice where studentnumber = '20100001'
print @number
print @course
這是樓上的朋友的勞動成果,望勿見怪

如果一定要PRINT全部的,那麼用游標吧:

declare @info varchar(200)
declare @curs cursor
set @curs=cursor scroll dynamic

❹ SQL建的表怎麼生成腳本

很簡單:看看下面這個問題的回答,有截圖的一看就知道了。
http://..com/question/97772000.html

************
補充:按照圖片上的操作點下一步,就會出現讓你保存.sql文件了,起個名字選個路徑點確定就ok了。
************

---
以上,希望對你有所幫助。

❺ 怎樣將SQL中某一個表的數據生成SQL腳本

表的數據無法生成SQL腳本

表可以生成SQL腳本,方法是表上右擊、生成表腳本、create到...

❻ 如何將數據表的數據導出為sql腳本

1. SSMS對象資源管理器中右鍵單擊資料庫,選擇任務,然後單擊生成腳本。
2. 單擊Next並選擇選擇對象頁面上的表。
3. 單擊下一步,設置腳本選項根據您的需要。然後單擊next,直到你完成這個任務

❼ 請教怎麼生成帶數據的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

❽ 如何把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腳本

設置資料庫的類型按「Tools」→「GeneratePhysicalDataModel」的順序選擇,如圖設置資料庫類型((1)所示。

在彈出的對話框中的「General」項的DBMS欄中選擇MySQL5.0,如圖設置資料庫類型(2)所示。

設置資料庫類型((1)

設置資料庫類型(2)

設置資料庫類型後就可以進行生成SQL腳本操作,按「Database」→「GenerateDatabase」的順序選擇,如圖生成SQL腳本操作((1)所示。

生成SQL腳本操作((1)

在彈出的對話框中指明生成的腳本存放在哪個目錄下及腳本的名字,最後單擊「確定」按鈕即可生成SQL腳本,如圖生成SQL腳本操作(2)所示。

生成SQL腳本操作(2)

❿ 如何將SQL Server 2000下的表生成SQL腳本

選你要生成腳本的表,右鍵--所有任務--生成腳本,該對話框裡面有生成腳本 一些選項,如果是第一次使用該功能,那麼就多測試即便各個選項的生成後的不同之處。。自己多動手是解決問題的最好辦法。。。。祝你成功!!