Forum DB design query

From: Harag (haragREMOVETHESECAPITALS_at_softhome.net)
Date: 08/25/04


Date: Wed, 25 Aug 2004 08:40:18 +0100

Hi all

backend: SQL Server 2k (dev ed)
frontend: ASP IIS5 jScript.

First let me apolgise for the length of this post, but I have included
all the DLL & example inserts below, also I'm new to Stored Procs/db
design.

I'm trying to create a simple forum system that will be hard for
members to hack into (by changing an url on the fron end browser) to
read forums that they shouldn't read.

Each member has 2 values (Skill and Prof) each forum also has these 2
values, members are only allowed to read/post the forums that have the
same 2 numbers as the member, the forums are then split down into
several types (general, support, tech help, etc.) so they will be
several forums for each pair of (skill & prof) values.

I will have 3 main stored procs that return the following info (forum
list, topic list, message list) the value in the brackets below is the
only info that the stored proc needs. from this info it can (by
joining tables) work out what the member needs to see.

Also note that the getTopicsList & getMessagesList Stored Procs will
use the EXCELLENT "rowcount" paging system created by Chris Hohmann
(thanks Chris) found at http://www.aspfaq.com/2120 With this in mind
the SELECT commands in those 2 stored procs will be repeated 3 times.
If you know his paging proc you will know why its 3 times.

getForumsList (MemberID)
getTopicsList (MemberID, ForumType, (& paging info))
getMessagesList (MemberID, TopicID, (& paging info))

Below is my "simulated" Select commands to return the info in QA. at
the bottom is all the actual DDL to run the tests on. (I know NOT to
use select *, I only do it in testing as its quicker. in the actual
stored procs I do put all the column names needed).

What I'm basically asking is if they will be any problem with joining
several tables together like the below (3 times in the bottom 2 cases
for paging) for a forum system. or should I rethink it? could any
other problem occure you might think of?

Thanks for ANY help/advice on this.

Al.

------------------------------------------------------------------
DECLARE @mem INT
DECLARE @fType TINYINT
DECLARE @topic INT

SELECT @mem=1, @fType=1, @topic=5

-- Get the member info
SELECT m.* FROM Members m WHERE m.MemID = @mem

-- Find the all forums for member @mem
-- This will be in the getForums(@mem) Stored Proc
SELECT f.* FROM Forums f
        INNER JOIN Members m
                ON m.Skill = f.Skill AND m.Prof = f.prof
        WHERE m.MemID = @mem

-- get list of topics in @fType for member @mem
-- This will be in the getTopics(@mem, @fType) Stored Proc
-- 3 times for paging
SELECT t.* FROM Topics t
        INNER JOIN Forums f
                ON t.ForumID = f.ForumID
        INNER JOIN Members m
                ON m.Skill = f.Skill AND m.Prof = f.prof
        WHERE m.MemID = @mem AND f.ForumType = @fType
        ORDER BY LastPost DESC

-- get list of messages in @topic (and the posters Name)
-- This will be in the getMessages(@mem, @topic) Stored Proc
-- If a member hacks the "url" and changes the topic ID
-- then this will return NO rows of data to the frontend.
-- 3 times for paging
SELECT msg.*, p.MemName FROM Messages msg
        INNER JOIN Members p
                ON msg.PosterID = p.MemID
        INNER JOIN Topics t
                ON msg.TopicID = t.TopicID
        INNER JOIN Forums f
                ON t.ForumID = f.ForumID
        INNER JOIN Members m
                ON m.Skill = f.Skill AND m.Prof = f.prof
        WHERE m.MemID = @mem AND t.TopicID = @topic
        ORDER BY msg.MessageID ASC
------------------------------------------------------------------
------------------------------------------------------------------
------------------------------------------------------------------
------------------------------------------------------------------

-- Now all the DDL (sorry for the length):

-- I used QAlite to get this info which seems to insist on
-- putting the DB name... So before running you will need
-- to create a DB with the name of "Forum". or do a search
-- and replace. (Forum.dbo. >to> "")

------------------------------------------------------------------
------------------------------------------------------------------
------------------------------------------------------------------
------------------------------------------------------------------
/*** Drop [Forum]..[Members] ***/
if object_id(N'dbo.Members','u') is not null
drop table [dbo].[Members]
GO

/*** Create [Forum]..[Members] ***/
CREATE TABLE [Members] (
        [MemID] int IDENTITY(1,1) NOT NULL ,
        [Skill] int NOT NULL ,
        [Prof] int NOT NULL ,
        [MemName] varchar (30) COLLATE SQL_Latin1_General_CP1_CI_AS
NOT NULL ,
        CONSTRAINT [PK_Members] PRIMARY KEY CLUSTERED ([MemID]))
GO

 Set IDENTITY_INSERT [Forum.dbo.Members] ON
GO

INSERT INTO [Forum.dbo.Members] ([MemID],[Skill],[Prof],[MemName])
VALUES(1,1,1,'Bill')
INSERT INTO [Forum.dbo.Members] ([MemID],[Skill],[Prof],[MemName])
VALUES(2,1,2,'Ted')
INSERT INTO [Forum.dbo.Members] ([MemID],[Skill],[Prof],[MemName])
VALUES(3,1,3,'Fred')
INSERT INTO [Forum.dbo.Members] ([MemID],[Skill],[Prof],[MemName])
VALUES(4,1,1,'Joe')
INSERT INTO [Forum.dbo.Members] ([MemID],[Skill],[Prof],[MemName])
VALUES(5,2,1,'Harry')
INSERT INTO [Forum.dbo.Members] ([MemID],[Skill],[Prof],[MemName])
VALUES(6,2,3,'Alison')
GO

Set IDENTITY_INSERT [Forum.dbo.Members] OFF
GO
  
/*** Drop [Forum]..[Forums] ***/
if object_id(N'dbo.Forums','u') is not null
drop table [dbo].[Forums]
GO

/*** Create [Forum]..[Forums] ***/
CREATE TABLE [Forums] (
        [ForumID] int IDENTITY(1,1) NOT NULL ,
        [Skill] int NOT NULL ,
        [Prof] int NOT NULL ,
        [ForumType] tinyint NOT NULL ,
        [ForumName] varchar (30) COLLATE SQL_Latin1_General_CP1_CI_AS
NOT NULL CONSTRAINT [DF_Forums_ForumName] DEFAULT ('General'),
        CONSTRAINT [PK_Forums] PRIMARY KEY CLUSTERED ([ForumID]),
        CONSTRAINT [IX_Forums] UNIQUE NONCLUSTERED
([Skill],[Prof],[ForumType]))
GO

 Set IDENTITY_INSERT [Forum.dbo.Forums] ON
GO

INSERT INTO [Forum.dbo.Forums]
([ForumID],[Skill],[Prof],[ForumType],[ForumName])
VALUES(1,1,1,1,'General')
INSERT INTO [Forum.dbo.Forums]
([ForumID],[Skill],[Prof],[ForumType],[ForumName])
VALUES(2,1,1,2,'Support')
INSERT INTO [Forum.dbo.Forums]
([ForumID],[Skill],[Prof],[ForumType],[ForumName])
VALUES(3,1,1,3,'Tech Help')
INSERT INTO [Forum.dbo.Forums]
([ForumID],[Skill],[Prof],[ForumType],[ForumName])
VALUES(4,1,2,1,'General')
INSERT INTO [Forum.dbo.Forums]
([ForumID],[Skill],[Prof],[ForumType],[ForumName])
VALUES(5,1,2,2,'Support')
INSERT INTO [Forum.dbo.Forums]
([ForumID],[Skill],[Prof],[ForumType],[ForumName])
VALUES(6,1,2,3,'Tech Help')
INSERT INTO [Forum.dbo.Forums]
([ForumID],[Skill],[Prof],[ForumType],[ForumName])
VALUES(7,1,3,1,'General')
INSERT INTO [Forum.dbo.Forums]
([ForumID],[Skill],[Prof],[ForumType],[ForumName])
VALUES(8,1,3,2,'Support')
INSERT INTO [Forum.dbo.Forums]
([ForumID],[Skill],[Prof],[ForumType],[ForumName])
VALUES(9,1,3,3,'Tech Help')
INSERT INTO [Forum.dbo.Forums]
([ForumID],[Skill],[Prof],[ForumType],[ForumName])
VALUES(10,2,1,1,'General')
INSERT INTO [Forum.dbo.Forums]
([ForumID],[Skill],[Prof],[ForumType],[ForumName])
VALUES(11,2,1,2,'Support')
INSERT INTO [Forum.dbo.Forums]
([ForumID],[Skill],[Prof],[ForumType],[ForumName])
VALUES(12,2,1,3,'Tech Help')
INSERT INTO [Forum.dbo.Forums]
([ForumID],[Skill],[Prof],[ForumType],[ForumName])
VALUES(13,2,3,1,'General')
INSERT INTO [Forum.dbo.Forums]
([ForumID],[Skill],[Prof],[ForumType],[ForumName])
VALUES(14,2,3,2,'Support')
INSERT INTO [Forum.dbo.Forums]
([ForumID],[Skill],[Prof],[ForumType],[ForumName])
VALUES(15,2,3,3,'Tech Help')
GO

Set IDENTITY_INSERT [Forum.dbo.Forums] OFF
GO
  /*** Drop [Forum]..[Topics] ***/
if object_id(N'dbo.Topics','u') is not null
drop table [dbo].[Topics]
GO

/*** Create [Forum]..[Topics] ***/
CREATE TABLE [Topics] (
        [TopicID] int IDENTITY(1,1) NOT NULL ,
        [ForumID] int NOT NULL ,
        [Subject] varchar (30) COLLATE SQL_Latin1_General_CP1_CI_AS
NOT NULL ,
        [LastPost] datetime NOT NULL CONSTRAINT [DF_Topics_LastPost]
DEFAULT (getdate()),
        CONSTRAINT [PK_Topics] PRIMARY KEY CLUSTERED ([TopicID]),
        CONSTRAINT [FK_Topics_Forums] FOREIGN KEY ([ForumID])
REFERENCES [dbo].[Forums] ([ForumID]))
GO

 Set IDENTITY_INSERT [Forum.dbo.Topics] ON
GO

INSERT INTO [Forum.dbo.Topics]
([TopicID],[ForumID],[Subject],[LastPost]) VALUES(1,1,'Topic 1 form
1','25/08/2004 07:23:44')
INSERT INTO [Forum.dbo.Topics]
([TopicID],[ForumID],[Subject],[LastPost]) VALUES(2,1,'Topic 2 form
1','25/08/2004 07:23:50')
INSERT INTO [Forum.dbo.Topics]
([TopicID],[ForumID],[Subject],[LastPost]) VALUES(3,1,'Topic 3 form
1','25/08/2004 07:23:52')
INSERT INTO [Forum.dbo.Topics]
([TopicID],[ForumID],[Subject],[LastPost]) VALUES(4,1,'Topic 4 form
1','25/08/2004 07:23:53')
INSERT INTO [Forum.dbo.Topics]
([TopicID],[ForumID],[Subject],[LastPost]) VALUES(5,1,'Topic 5 form
1','25/08/2004 07:23:57')
INSERT INTO [Forum.dbo.Topics]
([TopicID],[ForumID],[Subject],[LastPost]) VALUES(6,1,'Topic 6 form
1','25/08/2004 07:24:03')
INSERT INTO [Forum.dbo.Topics]
([TopicID],[ForumID],[Subject],[LastPost]) VALUES(7,1,'Topic 7 form
1','25/08/2004 07:24:11')
INSERT INTO [Forum.dbo.Topics]
([TopicID],[ForumID],[Subject],[LastPost]) VALUES(8,1,'Topic 8 form
1','25/08/2004 07:24:27')
INSERT INTO [Forum.dbo.Topics]
([TopicID],[ForumID],[Subject],[LastPost]) VALUES(9,2,'Topic 9 form
2','25/08/2004 07:24:33')
INSERT INTO [Forum.dbo.Topics]
([TopicID],[ForumID],[Subject],[LastPost]) VALUES(10,3,'Topic 10 form
3','25/08/2004 07:24:43')
INSERT INTO [Forum.dbo.Topics]
([TopicID],[ForumID],[Subject],[LastPost]) VALUES(11,2,'Topic 11 form
2','25/08/2004 07:25:01')
INSERT INTO [Forum.dbo.Topics]
([TopicID],[ForumID],[Subject],[LastPost]) VALUES(12,4,'Topic 12 form
4','25/08/2004 07:25:39')
INSERT INTO [Forum.dbo.Topics]
([TopicID],[ForumID],[Subject],[LastPost]) VALUES(13,5,'Topic 13 form
5','25/08/2004 07:25:46')
INSERT INTO [Forum.dbo.Topics]
([TopicID],[ForumID],[Subject],[LastPost]) VALUES(14,6,'Topic 14 form
6','25/08/2004 07:25:57')
INSERT INTO [Forum.dbo.Topics]
([TopicID],[ForumID],[Subject],[LastPost]) VALUES(16,7,'Topic 16 form
7','25/08/2004 07:26:10')
INSERT INTO [Forum.dbo.Topics]
([TopicID],[ForumID],[Subject],[LastPost]) VALUES(17,8,'Topic 17 form
8','25/08/2004 07:26:17')
INSERT INTO [Forum.dbo.Topics]
([TopicID],[ForumID],[Subject],[LastPost]) VALUES(18,9,'Topic 18 form
9','25/08/2004 07:26:21')
INSERT INTO [Forum.dbo.Topics]
([TopicID],[ForumID],[Subject],[LastPost]) VALUES(19,10,'Topic 19 form
10','25/08/2004 07:26:40')
INSERT INTO [Forum.dbo.Topics]
([TopicID],[ForumID],[Subject],[LastPost]) VALUES(20,11,'Topic 20 form
11','25/08/2004 07:27:01')
INSERT INTO [Forum.dbo.Topics]
([TopicID],[ForumID],[Subject],[LastPost]) VALUES(21,12,'Topic 21 form
12','25/08/2004 07:27:35')
INSERT INTO [Forum.dbo.Topics]
([TopicID],[ForumID],[Subject],[LastPost]) VALUES(22,13,'Topic 22 form
13','25/08/2004 07:27:46')
INSERT INTO [Forum.dbo.Topics]
([TopicID],[ForumID],[Subject],[LastPost]) VALUES(23,14,'Topic 23 form
14','25/08/2004 07:27:54')
INSERT INTO [Forum.dbo.Topics]
([TopicID],[ForumID],[Subject],[LastPost]) VALUES(24,15,'Topic 24 form
14','25/08/2004 07:28:06')
INSERT INTO [Forum.dbo.Topics]
([TopicID],[ForumID],[Subject],[LastPost]) VALUES(25,1,'Topic 25 form
1','25/08/2004 07:28:16')
GO

Set IDENTITY_INSERT [Forum.dbo.Topics] OFF
GO
  /*** Drop [Forum]..[Messages] ***/
if object_id(N'dbo.Messages','u') is not null
drop table [dbo].[Messages]
GO

/*** Create [Forum]..[Messages] ***/
CREATE TABLE [Messages] (
        [MessageID] int IDENTITY(1,1) NOT NULL ,
        [TopicID] int NOT NULL ,
        [PosterID] int NOT NULL CONSTRAINT [DF_Messages_PosterID]
DEFAULT (1),
        [DatePosted] smalldatetime NOT NULL CONSTRAINT
[DF_Messages_DatePosted] DEFAULT (getdate()),
        [Subject] varchar (30) COLLATE SQL_Latin1_General_CP1_CI_AS
NOT NULL CONSTRAINT [DF_Messages_Subject] DEFAULT ('''No Sub.'),
        [Info] varchar (1000) COLLATE SQL_Latin1_General_CP1_CI_AS NOT
NULL CONSTRAINT [DF_Messages_Info] DEFAULT ('No Info'),
        CONSTRAINT [PK_Messages] PRIMARY KEY CLUSTERED ([MessageID]),
        CONSTRAINT [FK_Messages_Members] FOREIGN KEY ([PosterID])
REFERENCES [dbo].[Members] ([MemID]),
        CONSTRAINT [FK_Messages_Topics] FOREIGN KEY ([TopicID])
REFERENCES [dbo].[Topics] ([TopicID]))
GO

 Set IDENTITY_INSERT [Forum.dbo.Messages] ON
GO

INSERT INTO [Forum.dbo.Messages]
([MessageID],[TopicID],[PosterID],[DatePosted],[Subject],[Info])
VALUES(1,1,1,'25/08/2004 07:30:00','''No Sub.','No Info')
INSERT INTO [Forum.dbo.Messages]
([MessageID],[TopicID],[PosterID],[DatePosted],[Subject],[Info])
VALUES(2,2,4,'25/08/2004 07:30:00','''No Sub.','No Info')
INSERT INTO [Forum.dbo.Messages]
([MessageID],[TopicID],[PosterID],[DatePosted],[Subject],[Info])
VALUES(3,3,1,'25/08/2004 07:30:00','''No Sub.','No Info')
INSERT INTO [Forum.dbo.Messages]
([MessageID],[TopicID],[PosterID],[DatePosted],[Subject],[Info])
VALUES(4,4,4,'25/08/2004 07:30:00','''No Sub.','No Info')
INSERT INTO [Forum.dbo.Messages]
([MessageID],[TopicID],[PosterID],[DatePosted],[Subject],[Info])
VALUES(5,5,1,'25/08/2004 07:30:00','''No Sub.','No Info')
INSERT INTO [Forum.dbo.Messages]
([MessageID],[TopicID],[PosterID],[DatePosted],[Subject],[Info])
VALUES(6,6,4,'25/08/2004 07:30:00','''No Sub.','No Info')
INSERT INTO [Forum.dbo.Messages]
([MessageID],[TopicID],[PosterID],[DatePosted],[Subject],[Info])
VALUES(7,7,1,'25/08/2004 07:30:00','''No Sub.','No Info')
INSERT INTO [Forum.dbo.Messages]
([MessageID],[TopicID],[PosterID],[DatePosted],[Subject],[Info])
VALUES(8,8,4,'25/08/2004 07:30:00','''No Sub.','No Info')
INSERT INTO [Forum.dbo.Messages]
([MessageID],[TopicID],[PosterID],[DatePosted],[Subject],[Info])
VALUES(9,9,1,'25/08/2004 07:30:00','''No Sub.','No Info')
INSERT INTO [Forum.dbo.Messages]
([MessageID],[TopicID],[PosterID],[DatePosted],[Subject],[Info])
VALUES(10,10,4,'25/08/2004 07:30:00','''No Sub.','No Info')
INSERT INTO [Forum.dbo.Messages]
([MessageID],[TopicID],[PosterID],[DatePosted],[Subject],[Info])
VALUES(11,11,1,'25/08/2004 07:30:00','''No Sub.','No Info')
INSERT INTO [Forum.dbo.Messages]
([MessageID],[TopicID],[PosterID],[DatePosted],[Subject],[Info])
VALUES(12,12,2,'25/08/2004 07:30:00','''No Sub.','No Info')
INSERT INTO [Forum.dbo.Messages]
([MessageID],[TopicID],[PosterID],[DatePosted],[Subject],[Info])
VALUES(13,13,2,'25/08/2004 07:30:00','''No Sub.','No Info')
INSERT INTO [Forum.dbo.Messages]
([MessageID],[TopicID],[PosterID],[DatePosted],[Subject],[Info])
VALUES(14,14,2,'25/08/2004 07:30:00','''No Sub.','No Info')
INSERT INTO [Forum.dbo.Messages]
([MessageID],[TopicID],[PosterID],[DatePosted],[Subject],[Info])
VALUES(15,16,3,'25/08/2004 07:30:00','''No Sub.','No Info')
INSERT INTO [Forum.dbo.Messages]
([MessageID],[TopicID],[PosterID],[DatePosted],[Subject],[Info])
VALUES(16,17,3,'25/08/2004 07:30:00','''No Sub.','No Info')
INSERT INTO [Forum.dbo.Messages]
([MessageID],[TopicID],[PosterID],[DatePosted],[Subject],[Info])
VALUES(17,18,3,'25/08/2004 07:30:00','''No Sub.','No Info')
INSERT INTO [Forum.dbo.Messages]
([MessageID],[TopicID],[PosterID],[DatePosted],[Subject],[Info])
VALUES(18,19,5,'25/08/2004 07:30:00','''No Sub.','No Info')
INSERT INTO [Forum.dbo.Messages]
([MessageID],[TopicID],[PosterID],[DatePosted],[Subject],[Info])
VALUES(19,20,5,'25/08/2004 07:31:00','''No Sub.','No Info')
INSERT INTO [Forum.dbo.Messages]
([MessageID],[TopicID],[PosterID],[DatePosted],[Subject],[Info])
VALUES(20,21,5,'25/08/2004 07:31:00','''No Sub.','No Info')
INSERT INTO [Forum.dbo.Messages]
([MessageID],[TopicID],[PosterID],[DatePosted],[Subject],[Info])
VALUES(21,22,6,'25/08/2004 07:31:00','''No Sub.','No Info')
INSERT INTO [Forum.dbo.Messages]
([MessageID],[TopicID],[PosterID],[DatePosted],[Subject],[Info])
VALUES(22,23,6,'25/08/2004 07:31:00','''No Sub.','No Info')
INSERT INTO [Forum.dbo.Messages]
([MessageID],[TopicID],[PosterID],[DatePosted],[Subject],[Info])
VALUES(23,24,1,'25/08/2004 07:31:00','''No Sub.','No Info')
INSERT INTO [Forum.dbo.Messages]
([MessageID],[TopicID],[PosterID],[DatePosted],[Subject],[Info])
VALUES(24,25,4,'25/08/2004 07:31:00','''No Sub.','No Info')
INSERT INTO [Forum.dbo.Messages]
([MessageID],[TopicID],[PosterID],[DatePosted],[Subject],[Info])
VALUES(25,5,4,'25/08/2004 07:35:00','''No Sub.','No Info')
INSERT INTO [Forum.dbo.Messages]
([MessageID],[TopicID],[PosterID],[DatePosted],[Subject],[Info])
VALUES(26,5,4,'25/08/2004 07:35:00','''No Sub.','No Info')
INSERT INTO [Forum.dbo.Messages]
([MessageID],[TopicID],[PosterID],[DatePosted],[Subject],[Info])
VALUES(27,5,1,'25/08/2004 07:35:00','''No Sub.','No Info')
INSERT INTO [Forum.dbo.Messages]
([MessageID],[TopicID],[PosterID],[DatePosted],[Subject],[Info])
VALUES(28,5,4,'25/08/2004 07:35:00','''No Sub.','No Info')
INSERT INTO [Forum.dbo.Messages]
([MessageID],[TopicID],[PosterID],[DatePosted],[Subject],[Info])
VALUES(29,5,1,'25/08/2004 07:35:00','''No Sub.','No Info')
INSERT INTO [Forum.dbo.Messages]
([MessageID],[TopicID],[PosterID],[DatePosted],[Subject],[Info])
VALUES(30,5,4,'25/08/2004 07:35:00','''No Sub.','No Info')
INSERT INTO [Forum.dbo.Messages]
([MessageID],[TopicID],[PosterID],[DatePosted],[Subject],[Info])
VALUES(31,5,1,'25/08/2004 07:35:00','''No Sub.','No Info')
INSERT INTO [Forum.dbo.Messages]
([MessageID],[TopicID],[PosterID],[DatePosted],[Subject],[Info])
VALUES(32,5,4,'25/08/2004 07:35:00','''No Sub.','No Info')
INSERT INTO [Forum.dbo.Messages]
([MessageID],[TopicID],[PosterID],[DatePosted],[Subject],[Info])
VALUES(33,5,1,'25/08/2004 07:35:00','''No Sub.','No Info')
INSERT INTO [Forum.dbo.Messages]
([MessageID],[TopicID],[PosterID],[DatePosted],[Subject],[Info])
VALUES(34,5,1,'25/08/2004 07:35:00','''No Sub.','No Info')
INSERT INTO [Forum.dbo.Messages]
([MessageID],[TopicID],[PosterID],[DatePosted],[Subject],[Info])
VALUES(35,5,4,'25/08/2004 07:36:00','''No Sub.','No Info')
GO

Set IDENTITY_INSERT [Forum.dbo.Messages] OFF
GO
  
------------------------------------------------------------------



Relevant Pages

  • Cybercrime Flourishes in Hacker Online Forums
    ... your Social Security number and manipulate your identity than you can ... The cybercrime forums gird a criminal economy that robs U.S. businesses ... The Secret Service and FBI declined to comment on Iceman or the ... Members could also exchange private ...
    (comp.dcom.telecom)
  • Re: An Intro, a Link to a Pipes Article...and Censorship!
    ... "commercial," despite their many links to pipes articles in other ... general commercial media. ... baffled til I read the other forums. ... They don't treat posters like guests much less members. ...
    (alt.smokers.pipes)
  • Re: Moderated sci.astro.amateur
    ... reflector, refractor forums, etc. ... usenet structure as possible within the constraints of a fancy forum. ... Amateur Astronomy Subject Matter," and is intended to serve as the "catch ... Members should expect and ...
    (sci.astro.amateur)
  • Re: 30 gigs of schematics, all brands and current
    ... www.wa6ati.com is one of the best forums. ... > members are welcome to take what I have to offer, ... > I've got several members bragging they got they're moneys worth in 20 ... > Pioneer section is mostly newer, ...
    (sci.electronics.repair)
  • Computed Columns problem
    ... I have a stored proc that gets a list of forums from the table ... then I don't have to change the above in other stored procs that need ... Whats the best way to "modulize" the case statment, ... Would it be better putting it into a scalar function and returning the ...
    (microsoft.public.sqlserver.programming)

Quantcast