Click here to Skip to main content
       

Database

 
AnswerRe: oracle error with winserver2008 PinmemberBernhard Hiller5-Feb-13 4:57 
Questionchar(255) vs varchar(255) vs varchar(MAX) Pinmemberdevvvy1-Feb-13 18:22 
AnswerRe: char(255) vs varchar(255) vs varchar(MAX) PinmvpRichard MacCutchan1-Feb-13 23:07 
GeneralRe: char(255) vs varchar(255) vs varchar(MAX) [modified] Pinmemberdevvvy2-Feb-13 15:39 
AnswerRe: char(255) vs varchar(255) vs varchar(MAX) PinmemberPIEBALDconsult2-Feb-13 5:22 
GeneralRe: char(255) vs varchar(255) vs varchar(MAX) Pinmemberdevvvy2-Feb-13 23:30 
GeneralRe: char(255) vs varchar(255) vs varchar(MAX) Pinmemberjschell3-Feb-13 6:36 
QuestionSP Unexpected Behavior Pinmembereddieangel1-Feb-13 7:19 
I have a procedure that checks to see if a user added address exists in a remote database. If the address exists, the procedure retrieves the id and updates the local DB with that id. If it does not exist, the procedure adds the address to the remote database, retrieves the new id, and updates the local database with the new id. Unfortunately, without any apparent pattern some times several addresses are lumped together into one single new address id. Can someone give me a second pair of eyes on this procedure to see where it might be doing this? I am also open to improvements.
 
USE [RemoteCapture]
GO
/****** Object:  StoredProcedure [dbo].[usp_resolveAddressProblems]    Script Date: 02/01/2013 09:51:58 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET NOCOUNT ON
/****** Object:  StoredProcedure [dbo].[usp_resolveAddressProblems]    Script Date: 10/06/2009 12:41:21 ******/
 
ALTER proc [dbo].[usp_resolveAddressProblems] (@servername varchar(100))
 
as
 
declare @query nvarchar(650)
declare @myAddId int
declare @myAddress varchar(100)
declare @newId int
declare @cursorString varchar(2000)
declare @intCaseId int
declare @remoteId int = 0
 
set @cursorString = 'declare myCursor cursor for select intAddressId, txtAddress, intCaseId from tbl_cdf_address where bitUserAdded = 1'
exec(@cursorString)
open myCursor
fetch next from myCursor into @myAddId, @myAddress, @intCaseId
while @@FETCH_STATUS = 0
begin
	get_address:
	set @remoteId = 0
	set @query = N'select @remoteId = intAddressId from "' + @servername + '".depo.dbo.tbl_cdf_address where txtAddress = ''' + @myAddress + ''' and intCaseId = ' + CAST(@intCaseId as varchar(10))
	
	exec sp_executesql @query, N'@remoteId int output', @remoteId output
	if @remoteId != 0 
	begin
		set @query = N'update tbl_cdf_observation set intAddressId = ' + cast(@remoteId as varchar(10)) + ' where intAddressId = ' + CAST(@myAddId as varchar(10)) + ' and intCaseId = ' + CAST(@intCaseId as varchar(10))
		exec(@query)
		set @query = N'update tbl_cdf_inspectionNotes set intAddressId = ' + cast(@remoteId as varchar(10)) + ' where intAddressId = ' + CAST(@myAddId as varchar(10)) + ' and intCaseId = ' + CAST(@intCaseId as varchar(10))
		exec(@query)
		print 'Updated ' + @myAddress
	end
	else
	begin
		set @query = N'insert "' + @servername + '".depo.dbo.tbl_cdf_address (intCaseId, txtAddress, bitActive) values (' + CAST(@intCaseId as varchar(50)) + ',''' + @myAddress + ''',1)' 
		exec(@query)
		print 'Added ' + @myAddress + ' to database.'
		goto get_address
	end
fetch next from myCursor into @myAddId, @myAddress, @intCaseId
end
close myCursor
deallocate myCursor
 
set @query = N'delete tbl_cdf_address'
exec(@query)
return
 
Cheers, --EA
QuestionEncrypt a field in the database. Pinmembervanikanc1-Feb-13 5:31 
AnswerRe: Encrypt a field in the database. PinmvpEddy Vluggen1-Feb-13 7:02 
Questioncheck before insert Pinmembervanikanc31-Jan-13 4:55 
AnswerRe: check before insert PinmvpEddy Vluggen31-Jan-13 5:00 
GeneralRe: check before insert PinmvpEddy Vluggen31-Jan-13 10:35 
AnswerRe: check before insert Pinmembermark merrens31-Jan-13 8:10 
GeneralRe: check before insert Pinmembervanikanc31-Jan-13 8:21 
GeneralRe: check before insert Pinmembermark merrens31-Jan-13 10:09 
GeneralRe: check before insert PinmemberChris Meech31-Jan-13 10:24 
GeneralRe: check before insert Pinmembermark merrens31-Jan-13 10:25 
AnswerRe: check before insert Pinmemberdjj551-Feb-13 7:50 
GeneralRe: check before insert Pinmembervanikanc1-Feb-13 7:55 
GeneralRe: check before insert Pinmemberdjj551-Feb-13 8:25 
QuestionIdentify DML changes between two databases PinmemberMember 313707830-Jan-13 20:56 
AnswerRe: Identify DML changes between two databases PinmemberMycroft Holmes30-Jan-13 21:11 
GeneralRe: Identify DML changes between two databases PinmemberMember 313707830-Jan-13 21:26 
QuestionUpdate a flag based on portion of data avialble in other column Pinmemberyuvachandra30-Jan-13 10:20 

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

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


Advertise | Privacy | Mobile
Web02 | 2.8.140827.1 | Last Updated 28 Aug 2014
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Service
Layout: fixed | fluid