SQL Server Forums
Profile | Register | Active Topics | Members | Search | Forum FAQ
 
Register Now and get your question answered!
Username:
Password:
Save Password
Forgot your Password?

 All Forums
 SQL Server 2000 Forums
 SQL Server Development (2000)
 The Forms of Things Unknown
 New Topic  Reply to Topic
 Printer Friendly
Previous Page | Next Page
Author Previous Topic Topic Next Topic
Page: of 7

Xerxes
Aged Yak Warrior

USA
665 Posts

Posted - 02/23/2005 :  15:00:31  Show Profile  Reply with Quote
quote:
Originally posted by Seventhnight

you could use sql to generate the rows. Would you care if there are 42 queries if you don't have to type them all??


Set nocount on
Declare @numbers table (n int)
Insert Into @numbers
Select n = n1+n2+n3+n4+n5+n6+n7+n8
From
	(Select n1=0 Union All Select 1) n1,
	(Select n2=0 Union All Select 2) n2,
	(Select n3=0 Union All Select 4) n3,
	(Select n4=0 Union All Select 8) n4,
	(Select n5=0 Union All Select 16) n5,
	(Select n6=0 Union All Select 32) n6,
	(Select n7=0 Union All Select 64) n7,
	(Select n8=0 Union All Select 128) n8


Select
	'INSERT INTO [XERXES].[dbo].[tab_COBMembr_TEST](Name, MemberNum, COBName, COBPolicy#, StartDate, TermDate, COBPriority, COBID, MedPrimary, COBSequence)
SELECT 
	MemberName, 
	MemberID, 
	COB'+convert(varchar,n)+'Name, 
	COB'+convert(varchar,n)+'Policy#, 
	COB'+convert(varchar,n)+'EffDt, 
	COB'+convert(varchar,n)+'TermDt, 
	COB'+convert(varchar,n)+'Priority, 
	COB'+convert(varchar,n)+'ID, 
	'' '' as MedPrimary, 
	COB'+convert(varchar,n)+'ID as COBSequence
FROM [XERXES].[dbo].[tab_ELCombo] 
WHERE COB7ID NOT in ('' '',''000000990'',''000000800'',''000001016'',''000001013'') and UPPER(COB7Priority) = ''P''

'
From @numbers

Set nocount off


Corey

"If the only tool you have is a hammer, the whole world looks like a nail." - Mark Twain



Corey,

I took your idea and attempted merging it with what I had, but I'm running up against the "number of INSERT statements must match number of SELECT statements" error---even though the DECLARED variable should resolve to 5 items. Any idea where I should proceed from here?

if exists
(select * from XERXES.dbo.sysobjects where id = object_id(N'[XERXES].[dbo].[tab_COBMembr_TEST]') and
OBJECTPROPERTY(id, N'IsUserTable') = 1)
DROP TABLE [XERXES].[dbo].[tab_COBMembr_TEST]

CREATE TABLE [XERXES].[dbo].[tab_COBMembr_TEST]
(
[Name] varchar (30) NULL,
[MemberNum] varchar (16) NULL,
[COBName] varchar (30) NULL,
[COBPolicy#] varchar (10) NULL,
[StartDate] varchar (10) NULL,
[TermDate] varchar (10) NULL,
[COBPriority] varchar (1) NULL,
[COBID] varchar (10) NULL,
[MedPrimary] varchar (1) NULL,
[COBSequence] varchar (6) NULL
)
GO
DECLARE @Q int
DECLARE @SELSTR varchar(800)
SET @Q = 0
-- COB'+convert(varchar,@Q)+'Name,
WHILE @Q < 2
BEGIN
SET @Q = @Q + 1
SET @SELSTR = ltrim('"COB"+convert(varchar,@Q)+"Name"+","+
"COB"+convert(varchar,@Q)+"Policy#"+","+
"COB"+convert(varchar,@Q)+"EffDt"+","+
"COB"+convert(varchar,@Q)+"TermDt"+","+
"COB"+convert(varchar,@Q)+"Priority"')

INSERT INTO [Fowler].[dbo].[tab_COBMembr_TEST] (Name, MemberNum,
COBName, COBPolicy#, COBEffDt, COBTermDt, COBPriority,
MedPrimary, COBSequence)

SELECT MemberName, MemberID,
@SELSTR,
' ' as MedPrimary,
'COB'+convert(varchar,@Q)+'ID' as COBSequence
FROM [Fowler].[dbo].[tab_ELCombo]
WHERE 'COB'+convert(varchar,@Q)+'ID' NOT in (' ','000000990','000000800','000001016','000001013')
and UPPER('COB'+convert(varchar,@Q)+'Priority') = 'P'
END
GO
SELECT TOP 10 * FROM [Fowler].[dbo].[tab_COBMembr_TEST]


generates this:

Server: Msg 120, Level 15, State 1, Line 25
The select list for the INSERT statement contains fewer items than the insert list. The number of SELECT values must match the number of INSERT columns.


Thanks


Semper fi,

Xerxes, USMC(Ret.)
------------------------------------------------------
Once a Marine ALWAYS a Marine!
Go to Top of Page

Seventhnight
Flowing Fount of Yak Knowledge

USA
2878 Posts

Posted - 02/23/2005 :  15:21:42  Show Profile  Visit Seventhnight's Homepage  Reply with Quote
X - you can't mix the examples together like that.


SELECT MemberName, MemberID, 
@SELSTR,
' ' as MedPrimary, 
'COB'+convert(varchar,@Q)+'ID' as COBSequence
FROM [Fowler].[dbo].[tab_ELCombo] 
WHERE 'COB'+convert(varchar,@Q)+'ID' NOT in (' ','000000990','000000800','000001016','000001013')
and UPPER('COB'+convert(varchar,@Q)+'Priority') = 'P'


the @selstr does not resolve into the 5 different columns... it simply creates a singular unnamed column with a varchar value (namely the value of @selstr).

so your select is returning 5 columns and you are trying to insert into a 9 column table.

Thus your error msg.

Corey

"If the only tool you have is a hammer, the whole world looks like a nail." - Mark Twain

Edited by - Seventhnight on 02/23/2005 15:23:07
Go to Top of Page

Xerxes
Aged Yak Warrior

USA
665 Posts

Posted - 02/23/2005 :  15:27:22  Show Profile  Reply with Quote
quote:
Originally posted by Seventhnight

X - you can't mix the examples together like that.


SELECT MemberName, MemberID, 
@SELSTR,
' ' as MedPrimary, 
'COB'+convert(varchar,@Q)+'ID' as COBSequence
FROM [Fowler].[dbo].[tab_ELCombo] 
WHERE 'COB'+convert(varchar,@Q)+'ID' NOT in (' ','000000990','000000800','000001016','000001013')
and UPPER('COB'+convert(varchar,@Q)+'Priority') = 'P'


the @selstr does not resolve into the 5 different columns... it simply creates a singular unnamed column with a varchar value (namely the value of @selstr).

so your select is returning 5 columns and you are trying to insert into a 9 column table.

Thus your error msg.

Corey

"If the only tool you have is a hammer, the whole world looks like a nail." - Mark Twain



By the way, your example gives me 256 copies of the same line:

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
INSERT INTO [XERXES].[dbo].[tab_COBMembr_TEST](Name, MemberNum, COBName, COBPolicy#, StartDate, TermDate, COBPriority, COBID, MedPrimary, COBSequence)
SELECT
MemberName,
MemberID,
COB0Name,
COB0Policy#,
COB0EffDt,
COB0TermDt,
COB0Prio



Semper fi,

Xerxes, USMC(Ret.)
------------------------------------------------------
Once a Marine ALWAYS a Marine!
Go to Top of Page

Seventhnight
Flowing Fount of Yak Knowledge

USA
2878 Posts

Posted - 02/23/2005 :  15:35:50  Show Profile  Visit Seventhnight's Homepage  Reply with Quote
sorry... found a couple of errors. Revised script below:


Set nocount on
Declare @numbers table (n int)
Insert Into @numbers
Select n = n1+n2+n3+n4+n5+n6+n7+n8
From
	(Select n1=0 Union All Select 1) n1,
	(Select n2=0 Union All Select 2) n2,
	(Select n3=0 Union All Select 4) n3,
	(Select n4=0 Union All Select 8) n4,
	(Select n5=0 Union All Select 16) n5,
	(Select n6=0 Union All Select 32) n6,
	(Select n7=0 Union All Select 64) n7,
	(Select n8=0 Union All Select 128) n8


Select
	'INSERT INTO [XERXES].[dbo].[tab_COBMembr_TEST](Name, MemberNum, COBName, COBPolicy#, StartDate, TermDate, COBPriority, COBID, MedPrimary, COBSequence)
SELECT 
	MemberName, 
	MemberID, 
	COB'+convert(varchar,n)+'Name, 
	COB'+convert(varchar,n)+'Policy#, 
	COB'+convert(varchar,n)+'EffDt, 
	COB'+convert(varchar,n)+'TermDt, 
	COB'+convert(varchar,n)+'Priority, 
	COB'+convert(varchar,n)+'ID, 
	'' '' as MedPrimary, 
	COB'+convert(varchar,n)+'ID as COBSequence
FROM [XERXES].[dbo].[tab_ELCombo] 
WHERE COB'+convert(varchar,n)+'ID NOT in ('' '',''000000990'',''000000800'',''000001016'',''000001013'') and UPPER(COB'+convert(varchar,n)+'Priority) = ''P''

'
From @numbers
Where n between 1 and 42
order by n

Set nocount off


this is what I generated:

INSERT INTO [XERXES].[dbo].[tab_COBMembr_TEST](Name, MemberNum, COBName, COBPolicy#, StartDate, TermDate, COBPriority, COBID, MedPrimary, COBSequence)
SELECT 
	MemberName, 
	MemberID, 
	COB1Name, 
	COB1Policy#, 
	COB1EffDt, 
	COB1TermDt, 
	COB1Priority, 
	COB1ID, 
	' ' as MedPrimary, 
	COB1ID as COBSequence
FROM [XERXES].[dbo].[tab_ELCombo] 
WHERE COB1ID NOT in (' ','000000990','000000800','000001016','000001013') and UPPER(COB1Priority) = 'P'

INSERT INTO [XERXES].[dbo].[tab_COBMembr_TEST](Name, MemberNum, COBName, COBPolicy#, StartDate, TermDate, COBPriority, COBID, MedPrimary, COBSequence)
SELECT 
	MemberName, 
	MemberID, 
	COB2Name, 
	COB2Policy#, 
	COB2EffDt, 
	COB2TermDt, 
	COB2Priority, 
	COB2ID, 
	' ' as MedPrimary, 
	COB2ID as COBSequence
FROM [XERXES].[dbo].[tab_ELCombo] 
WHERE COB2ID NOT in (' ','000000990','000000800','000001016','000001013') and UPPER(COB2Priority) = 'P'

--...

INSERT INTO [XERXES].[dbo].[tab_COBMembr_TEST](Name, MemberNum, COBName, COBPolicy#, StartDate, TermDate, COBPriority, COBID, MedPrimary, COBSequence)
SELECT 
	MemberName, 
	MemberID, 
	COB42Name, 
	COB42Policy#, 
	COB42EffDt, 
	COB42TermDt, 
	COB42Priority, 
	COB42ID, 
	' ' as MedPrimary, 
	COB42ID as COBSequence
FROM [XERXES].[dbo].[tab_ELCombo] 
WHERE COB42ID NOT in (' ','000000990','000000800','000001016','000001013') and UPPER(COB42Priority) = 'P'



Corey

"If the only tool you have is a hammer, the whole world looks like a nail." - Mark Twain

Edited by - Seventhnight on 02/23/2005 15:36:43
Go to Top of Page

Xerxes
Aged Yak Warrior

USA
665 Posts

Posted - 02/23/2005 :  15:46:12  Show Profile  Reply with Quote
Could you clue me in

Why the SELECT arithmetic sequence: 1 2 4 8 16....?

BTW....works great!

Semper fi,

Xerxes, USMC(Ret.)
------------------------------------------------------
Once a Marine ALWAYS a Marine!
Go to Top of Page

Seventhnight
Flowing Fount of Yak Knowledge

USA
2878 Posts

Posted - 02/23/2005 :  15:54:02  Show Profile  Visit Seventhnight's Homepage  Reply with Quote
it is a way to build the numbers table. If you have a hard-coded numbers table then great!

the query is a series of cross-joins, looks kinda like this:
w/ only 3 subqueries -
0 0 0 = 0
1 0 0 = 1
0 2 0 = 2
1 2 0 = 3
0 0 4 = 4
1 0 4 = 5
0 2 4 = 6
1 2 4 = 7

That help??

Corey

"If the only tool you have is a hammer, the whole world looks like a nail." - Mark Twain
Go to Top of Page

Xerxes
Aged Yak Warrior

USA
665 Posts

Posted - 02/23/2005 :  15:56:37  Show Profile  Reply with Quote
quote:
Originally posted by Seventhnight

it is a way to build the numbers table. If you have a hard-coded numbers table then great!

the query is a series of cross-joins, looks kinda like this:
w/ only 3 subqueries -
0 0 0 = 0
1 0 0 = 1
0 2 0 = 2
1 2 0 = 3
0 0 4 = 4
1 0 4 = 5
0 2 4 = 6
1 2 4 = 7

That help??

Corey

"If the only tool you have is a hammer, the whole world looks like a nail." - Mark Twain




HUH?

Cudja 'splain that'n agin?

You lost me there, Corey.

Semper fi,

Xerxes, USMC(Ret.)
------------------------------------------------------
Once a Marine ALWAYS a Marine!
Go to Top of Page

tkizer
Almighty SQL Goddess

USA
35937 Posts

Posted - 02/23/2005 :  15:58:47  Show Profile  Visit tkizer's Homepage  Reply with Quote
Xerxes, you only need to create the Numbers table once. Always keep it in your user database. Load it with data from 1-8000. Corey's code is just to load this table. You could do this one time load with a WHILE statement as well, but that'll obviously be slower.

DECLARE @i int

SET @i = 1

WHILE @i <= 8000
BEGIN
  INSERT INTO Numbers VALUES(@i)
  SET @i = @i + 1
END



Tara
Go to Top of Page

tkizer
Almighty SQL Goddess

USA
35937 Posts

Posted - 02/23/2005 :  15:59:27  Show Profile  Visit tkizer's Homepage  Reply with Quote
Oh and instead of his @numbers table, make sure you have a permanent one.

Tara

Edited by - tkizer on 02/23/2005 16:00:09
Go to Top of Page

Xerxes
Aged Yak Warrior

USA
665 Posts

Posted - 02/23/2005 :  16:06:53  Show Profile  Reply with Quote
quote:
Originally posted by tduggan

Xerxes, you only need to create the Numbers table once. Always keep it in your user database. Load it with data from 1-8000. Corey's code is just to load this table. You could do this one time load with a WHILE statement as well, but that'll obviously be slower.

DECLARE @i int

SET @i = 1

WHILE @i <= 8000
BEGIN
  INSERT INTO Numbers VALUES(@i)
  SET @i = @i + 1
END



Tara



I see.....Corey's is a short-cut way to create the 'numbers' table using a logarithm method----yes, I finally figured it out (very CLEVER, Mr Aldebol!). But as a DBA, Tara, you're suggesting that it be permanent. OK, I'll bite: When it can be created on the fly, why would I wish to do that, Tara? Sorry, but the Gunny is perplexed...





Semper fi,

Xerxes, USMC(Ret.)
------------------------------------------------------
Once a Marine ALWAYS a Marine!
Go to Top of Page

tkizer
Almighty SQL Goddess

USA
35937 Posts

Posted - 02/23/2005 :  16:09:30  Show Profile  Visit tkizer's Homepage  Reply with Quote
The table is static. It should never change. So why create it on the fly each time and receive a performance hit for this? Just create a once and use the permanent one in your queries. Our solutions that we provide here are so that you can copy and paste them into Query Analyzer to see what is going on. You then might need to modify them for your environment and possibly create static tables. The numbers table will come in handy in the future for other ways to avoid cursors and looping.

Tara
Go to Top of Page

Seventhnight
Flowing Fount of Yak Knowledge

USA
2878 Posts

Posted - 02/23/2005 :  16:19:53  Show Profile  Visit Seventhnight's Homepage  Reply with Quote
I agree with tara! If you don't have a numbers or tally table, you should!

For the sake of education:
Consider what a cross join does:

given two sets {A} and {B}, a cross join means to 'link' every record from
{A} to every record of {B}.

if {A} is the set (0,1) and {B} is the set (0,2)

let X = cross join
then {A}X{B}:
{A} {B}
 0   0
 0   2
 1   0
 1   2


if you introduce {C} as (0,4)
then {A}X{B}X{C}
{A} {B} {C}
 0   0   0  =  0
 0   0   4  =  4
 0   2   0  =  2
 0   2   4  =  6
 1   0   0  =  1
 1   0   4  =  5
 1   2   0  =  3
 1   2   4  =  7


if you order the these you get the complete set (0,1,2,3,4,5,6,7)

you can expand this as far as you want:

if you introduce {D} as (0,8)
then {A}X{B}X{C}X{D}

{A} {B} {C} {D}
 0   0   0   0  =  0
 0   0   0   8  =  8
 0   0   4   0  =  4
 0   0   4   8  =  12
...
 1   2   0   0  =  3
 1   2   0   8  =  11
 1   2   4   0  =  7
 1   2   4   8  =  15


EDIT: doh! I wrote out the explaination for nothing!

Corey

"If the only tool you have is a hammer, the whole world looks like a nail." - Mark Twain

Edited by - Seventhnight on 02/23/2005 16:20:44
Go to Top of Page

Xerxes
Aged Yak Warrior

USA
665 Posts

Posted - 02/23/2005 :  16:37:29  Show Profile  Reply with Quote
Corey, The explanation WASN'T wasted. In fact it was neat!

Thanks for the 'heads up' on performance issues, Tara.

I learn something new every single day here!

Thanks!



Semper fi,

Xerxes, USMC(Ret.)
------------------------------------------------------
Once a Marine ALWAYS a Marine!
Go to Top of Page

Xerxes
Aged Yak Warrior

USA
665 Posts

Posted - 02/23/2005 :  17:23:58  Show Profile  Reply with Quote
quote:
Originally posted by Seventhnight

I agree with tara! If you don't have a numbers or tally table, you should!

For the sake of education:
Consider what a cross join does:

given two sets {A} and {B}, a cross join means to 'link' every record from
{A} to every record of {B}.

if {A} is the set (0,1) and {B} is the set (0,2)

let X = cross join
then {A}X{B}:
{A} {B}
 0   0
 0   2
 1   0
 1   2


if you introduce {C} as (0,4)
then {A}X{B}X{C}
{A} {B} {C}
 0   0   0  =  0
 0   0   4  =  4
 0   2   0  =  2
 0   2   4  =  6
 1   0   0  =  1
 1   0   4  =  5
 1   2   0  =  3
 1   2   4  =  7


if you order the these you get the complete set (0,1,2,3,4,5,6,7)

you can expand this as far as you want:

if you introduce {D} as (0,8)
then {A}X{B}X{C}X{D}

{A} {B} {C} {D}
 0   0   0   0  =  0
 0   0   0   8  =  8
 0   0   4   0  =  4
 0   0   4   8  =  12
...
 1   2   0   0  =  3
 1   2   0   8  =  11
 1   2   4   0  =  7
 1   2   4   8  =  15


EDIT: doh! I wrote out the explaination for nothing!

Corey

"If the only tool you have is a hammer, the whole world looks like a nail." - Mark Twain



Corey,

Unfortunately, the code I generate is being chopped off (example:


----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
INSERT INTO [XERXES].[dbo].[tab_COBMembr_TEST](Name, MemberNum, COBName, COBPolicy#, StartDate, TermDate, COBPriority, COBID, MedPrimary, COBSequence)
SELECT
MemberName,
MemberID,
COB1Name,
COB1Policy#,
COB1EffDt,
COB1TermDt,
COB1Prio
INSERT INTO [XERXES].[dbo].[tab_COBMembr_TEST](Name, MemberNum, COBName, COBPolicy#, StartDate, TermDate, COBPriority, COBID, MedPrimary, COBSequence)
SELECT
MemberName,
MemberID,
COB2Name,
COB2Policy#,
COB2EffDt,
COB2TermDt,
COB2Prio



is there something else I should consider?

Philip...

Semper fi,

Xerxes, USMC(Ret.)
------------------------------------------------------
Once a Marine ALWAYS a Marine!
Go to Top of Page

Michael Valentine Jones
Yak DBA Kernel (pronounced Colonel)

USA
7020 Posts

Posted - 02/23/2005 :  17:36:10  Show Profile  Reply with Quote
I found it more useful to have a table valued function to return the numbers you need exactly.

The one I wrote returns anything up to 10,000 rows in less than a second, and will return 1,000,000 rows in about 10 seconds, so the performance hit is not huge in most situations. It slows down above that, so I limited the results to 10,000,000 rows, which it takes about two minutes to generate. This seems to cover the vast majority of situations.

Of course, you could store a useful number of rows in a permanent table if you need to use it a lot and are concerned with performance. You can still have a function around for when you find that more useful.


-- Return numbers 1 to 2000
select NUMBER from dbo.UDF_NUMBER_RANGE(1,2000)

-- Return numbers -14 to 3147
select NUMBER from dbo.UDF_NUMBER_RANGE(-14,3147)

-- Return 1000 dates, starting with tomorrow
select
	[DATE] =dateadd(dd,NUMBER,convert(varchar(10),getdate(),111)) 
from
	dbo.UDF_NUMBER_RANGE(1,1000)
order by
	1



Codo Ergo Sum

Edited by - Michael Valentine Jones on 02/23/2005 17:50:06
Go to Top of Page

rockmoose
SQL Natt Alfen

Sweden
3279 Posts

Posted - 02/23/2005 :  17:36:29  Show Profile  Reply with Quote
Tools->Options->Results->maximum characters per column:
set it to higher value...

rockmoose
Go to Top of Page

Xerxes
Aged Yak Warrior

USA
665 Posts

Posted - 02/23/2005 :  17:43:13  Show Profile  Reply with Quote
quote:
Originally posted by rockmoose

Tools->Options->Results->maximum characters per column:
set it to higher value...

rockmoose



THANKS MOOSE! I jacked it up to 1024 and it worked!.

(BTW, 'Moose' is also my 3rd son's nickname, too!)

Semper fi,

Xerxes, USMC(Ret.)
------------------------------------------------------
Once a Marine ALWAYS a Marine!
Go to Top of Page

Seventhnight
Flowing Fount of Yak Knowledge

USA
2878 Posts

Posted - 02/23/2005 :  17:44:16  Show Profile  Visit Seventhnight's Homepage  Reply with Quote
quote:
Originally posted by rockmoose

Tools->Options->Results->maximum characters per column:
set it to higher value...

rockmoose



yeah.... that.

Corey

"If the only tool you have is a hammer, the whole world looks like a nail." - Mark Twain
Go to Top of Page

Xerxes
Aged Yak Warrior

USA
665 Posts

Posted - 02/23/2005 :  17:45:14  Show Profile  Reply with Quote
quote:
Originally posted by Michael Valentine Jones

I found it more useful to have a table valued function to return the numbers you need exactly.

The one I wrote returns anything up to 10,000 rows in less than a second, and will return 1,000,000 rows in about 10 seconds, so the performance hit is not huge in most situations. It slows down above that, so I limited the results to 10,000,000 rows, which it takes about two minutes to generate. This seems to cover the vast majority of situations.

Of course, you could store a useful number of rows in a permanent table if you need to use it a lot and are concerned with performance. You can still have a function around for when you find that more useful.


-- Return numbers 1 to 2000
select NUMBER from dbo.UDF_NUMBER_RANGE(1,2000)

-- Return numbers -14 to 3147
select NUMBER from dbo.UDF_NUMBER_RANGE(-14,3147)



Codo Ergo Sum



Michael,

You mean you're suggesting I do this for a permanent numbers table instead of just the old 1 - 8000 that the SQL Warrior Queen suggested?

Semper fi,

Xerxes, USMC(Ret.)
------------------------------------------------------
Once a Marine ALWAYS a Marine!
Go to Top of Page

Xerxes
Aged Yak Warrior

USA
665 Posts

Posted - 02/23/2005 :  17:47:07  Show Profile  Reply with Quote
quote:
Originally posted by Seventhnight

quote:
Originally posted by rockmoose

Tools->Options->Results->maximum characters per column:
set it to higher value...

rockmoose



yeah.... that.

Corey

"If the only tool you have is a hammer, the whole world looks like a nail." - Mark Twain



Uh, Corey, don't you mean by MOOSE?

Semper fi,

Xerxes, USMC(Ret.)
------------------------------------------------------
Once a Marine ALWAYS a Marine!
Go to Top of Page
Page: of 7 Previous Topic Topic Next Topic  
Previous Page | Next Page
 New Topic  Reply to Topic
 Printer Friendly
Jump To:
SQL Server Forums © 2000-2009 SQLTeam Publishing, LLC Go To Top Of Page
This page was generated in 0.3 seconds. Powered By: Snitz Forums 2000