Click here to Skip to main content
15,918,003 members
Home / Discussions / Database
   

Database

 
AnswerRe: Too Complex For Me...Maybe You? Pin
basementman18-Aug-03 10:00
basementman18-Aug-03 10:00 
GeneralRe: Too Complex For Me...Maybe You? Pin
jesus4u18-Aug-03 10:04
jesus4u18-Aug-03 10:04 
GeneralRe: Too Complex For Me...Maybe You? Pin
basementman18-Aug-03 10:08
basementman18-Aug-03 10:08 
GeneralRetrieving PF, FK from table Pin
SimonS18-Aug-03 7:32
SimonS18-Aug-03 7:32 
GeneralRe: Retrieving PF, FK from table Pin
basementman18-Aug-03 10:06
basementman18-Aug-03 10:06 
GeneralRe: Retrieving PF, FK from table Pin
RichardGrimmer19-Aug-03 5:25
RichardGrimmer19-Aug-03 5:25 
GeneralRe: Retrieving PF, FK from table Pin
SimonS19-Aug-03 10:42
SimonS19-Aug-03 10:42 
QuestionEver needed to Increment a Revision? Pin
OMalleyW18-Aug-03 4:29
OMalleyW18-Aug-03 4:29 
I am using SQL Server 2000. I ran into a situation where I needed to increment a revision. The revision could be up to two letters in length. The code below works great. This is just for an example to anyone who may need it.
Check This out:

declare @r varchar(2)
declare @MaxRevLetter INT
declare @seriesLetter1 VARCHAR(1)
declare @seriesLetter2 VARCHAR(1)
declare @NewRevision VARCHAR(2)

-- SET Revision Letter(s) to Check
SET @r = 'CX'
SET @MaxRevLetter = ASCII('X')
-- test for length. If the Revision is only one letter then it is easy to handel.
IF LEN(@r) > 0 AND LEN(@r) < 2 BEGIN
-- if the revision letter is a Z then we can not increment it using the following method
-- so set it.
IF (@r != 'Z') BEGIN
IF ASCII(LTRIM(RTRIM(@r))) <> @MaxRevLetter BEGIN
SET @NewRevision = CHAR(ASCII(@r)+1)
END
END
ELSE BEGIN
SET @NewRevision = 'X'
END
END
ELSE BEGIN
-- get the letters in the Revision
SET @seriesLetter1 = SUBSTRING(@r,0,LEN(@r) )
SET @seriesLetter2 = SUBSTRING(@r,2,LEN(@r) )
-- because we know that if there is a Z the letter must be set and can not be
-- incremented. We need to test for a Z.
IF (@seriesLetter1 + @seriesLetter2 != 'ZZ' AND
@seriesLetter1 + @seriesLetter2 != 'ZX' AND
@seriesLetter1 + @seriesLetter2 != 'XZ' AND
@seriesLetter1 + @seriesLetter2 != 'XX') BEGIN
-- Ok if the first letter is NOT an X and the second letter is not an X
-- increment the second letter so AB would be AC
IF (ASCII(@seriesLetter2) <> @MaxRevLetter) BEGIN
SET @seriesLetter2 = CHAR(ASCII(@seriesLetter2)+1)
SELECT NewRevision = @seriesLetter1 + @seriesLetter2
END
ELSE BEGIN
-- ok the second letter was an X Ex: AX so we need to increment the first letter
-- and set the second letter back. AX would be BA
SET @seriesLetter1 = CHAR(ASCII(@seriesLetter1)+1)
SET @seriesLetter2 = 'A'
SELECT NewRevision = @seriesLetter1 + @seriesLetter2
END
END
ELSE BEGIN
-- ok there is some combo of X and Z in the string. so set the value
IF (@seriesLetter1 = 'X' AND @seriesLetter2 = 'Z') BEGIN
SET @seriesLetter1 = 'X'
SET @seriesLetter2 = 'X'
SELECT NewRevision = @seriesLetter1 + @seriesLetter2
END
IF (@seriesLetter1 = 'Z' AND @seriesLetter2 = 'X') BEGIN
SET @seriesLetter1 = 'X'
SET @seriesLetter2 = 'A'
SELECT NewRevision = @seriesLetter1 + @seriesLetter2
END
IF (@seriesLetter1 = 'Z' AND @seriesLetter2 = 'Z') BEGIN
SET @seriesLetter1 = 'Z'
SET @seriesLetter2 = 'X'
SELECT NewRevision = @seriesLetter1 + @seriesLetter2
END
IF (@seriesLetter1 = 'X' AND @seriesLetter2 = 'X') BEGIN
SET NewRevision = 'The Revision XX is the last revision possable.'
END
END
END

enjoy.
Let me know if you have any questions

Will
AnswerRe: Ever needed to Increment a Revision? Pin
OMalleyW18-Aug-03 5:23
OMalleyW18-Aug-03 5:23 
QuestionMD5 in SQL Server 2000? Pin
Abin18-Aug-03 0:19
Abin18-Aug-03 0:19 
AnswerRe: MD5 in SQL Server 2000? Pin
Mike Dimmick19-Aug-03 5:02
Mike Dimmick19-Aug-03 5:02 
GeneralADO :VARIANY :Binarry Array Pin
Fad B17-Aug-03 21:52
Fad B17-Aug-03 21:52 
GeneralNoob sql Pin
Snyp17-Aug-03 4:59
Snyp17-Aug-03 4:59 
GeneralRe: Noob sql Pin
Rein Hillmann17-Aug-03 21:24
Rein Hillmann17-Aug-03 21:24 
GeneralRe: Noob sql Pin
Jeremy Oldham18-Aug-03 2:12
Jeremy Oldham18-Aug-03 2:12 
GeneralRe: Noob sql Pin
Snyp18-Aug-03 3:10
Snyp18-Aug-03 3:10 
GeneralPrimaryKey problem Pin
Hovik Melkomian17-Aug-03 3:03
Hovik Melkomian17-Aug-03 3:03 
GeneralC# - Help with preferred method to add a new row Pin
work_to_live16-Aug-03 13:05
work_to_live16-Aug-03 13:05 
GeneralRe: C# - Help with preferred method to add a new row Pin
work_to_live16-Aug-03 13:50
work_to_live16-Aug-03 13:50 
GeneraldataSet row position Pin
Hovik Melkomian16-Aug-03 5:52
Hovik Melkomian16-Aug-03 5:52 
GeneralDEPLOYMENT Pin
eggie515-Aug-03 22:56
eggie515-Aug-03 22:56 
GeneralDatagrid Pin
kornstyle14-Aug-03 7:31
kornstyle14-Aug-03 7:31 
GeneralRe: Datagrid Pin
Jeff Martin14-Aug-03 7:53
Jeff Martin14-Aug-03 7:53 
GeneralRe: Datagrid Pin
kornstyle14-Aug-03 8:08
kornstyle14-Aug-03 8:08 
GeneralRe: Datagrid Pin
kornstyle14-Aug-03 8:10
kornstyle14-Aug-03 8:10 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.