我正在嘗試修改別人寫過的查詢來做一些測試。在這個文件中有幾個查詢會提取數據,只要沒有結果產生,那麼一切都很好。在這個查詢中有幾個地方我不明白,但我真正想知道的唯一事情是如果我沒有生成結果,我可以插入'PASS'或'FAIL'值。如何在表返回null時插入字符串?
declare @i int, @d nvarchar (3), @max int, @db nvarchar (100),
@query nvarchar (max), @base_db_name nvarchar(50), @use_loop int;
select name
from sys.databases
IF OBJECT_ID('tempdb..#TABLE1') IS NOT NULL
BEGIN
DROP TABLE #TABLE1
END
create table #TABLE1 (
Column1 datatype,
Column2 datatype,
Column3 datatype,
IF OBJECT_ID('tempdb..#TABLE2') IS NOT NULL
BEGIN
DROP TABLE #TABLE2
END
create table #TABLE2 (
Column1 datatype,
Column2 datatype,
Column3 datatype,
)
IF OBJECT_ID('tempdb..#TABLE3') IS NOT NULL
BEGIN
DROP TABLE #TABLE3
END
create table #TABLE3 (
Column1 datatype,
Column2 datatype,
Column3 datatype,
)
IF OBJECT_ID('tempdb..#TABLE4') IS NOT NULL
BEGIN
DROP TABLE #TABLE4
END
create table #TABLE4 (
Column1 datatype,
Column2 datatype,
Column3 datatype,
)
IF OBJECT_ID('tempdb..#TABLE5') IS NOT NULL
BEGIN
DROP TABLE #TABLE5
END
create table #TABLE5 (
Column1 datatype,
Column2 datatype,
Column3 datatype,
)
IF OBJECT_ID('tempdb..#TABLE6') IS NOT NULL
BEGIN
DROP TABLE #TABLE6
END
create table #TABLE6 (
Column1 datatype,
Column2 datatype,
Column3 datatype,
)
While @i <= @max
Begin
if @use_loop = 1
Begin
set @d = CAST(@i as nvarchar);
Set @db = @base_db_name [email protected]+ '].dbo.';
End
Set @query = cast('
*QUERY GOES HERE*
' as nvarchar(max))
Insert INTO #TABLE1
Execute (@query)
Set @query = cast('
*QUERY GOES HERE*
' as nvarchar(max))
Insert INTO #TABLE2
Execute (@query)
Set @query = cast('
*QUERY GOES HERE*
' as nvarchar(max))
Insert INTO #TABLE3
Execute (@query)
Set @query = cast('
*QUERY GOES HERE*
' as nvarchar(max))
Insert INTO #TABLE3
Execute (@query)
Set @query = cast('
*QUERY GOES HERE*
' as nvarchar(max))
Insert INTO #TABLE4
Execute (@query)
Set @query = cast('
*QUERY GOES HERE*
' as nvarchar(max))
Insert INTO #TABLE5
Execute (@query)
Set @query = cast('
*QUERY GOES HERE*
' as nvarchar(max))
Insert INTO #TABLE6
Execute (@query)
set @i = @i + 1;
End
GO
Select *
from #TABLE1;
Select *
from #TABLE2;
Select *
from #TABLE3;
Select *
from #TABLE4;
Select *
from #TABLE5;
Select *
from #TABLE6;
它真的很長我意識到,但我試圖保持簡單,只有肉和土豆。我想知道的是,當查詢從表1-6末尾抽取結果時,如何在沒有任何顯示的情況下將值插入到完全不同的表(如ResultsTable)中,並顯示合格/不合格的值?
批次標籤是因爲這個腳本是從一個批處理腳本調用。我只是添加它,沒有想到我沒有在帖子中引用它。 – David 2015-02-10 21:00:24
有人可以解釋爲什麼我已經downvoted? – David 2015-02-10 21:00:58
'ResultsTable'已經是一個現有的表嗎?如果所有其他表都是空白的,您是否只希望它填充? – 2015-02-10 21:12:24