Quantcast
Channel: Questions in topic: "sql-server-2005"
Viewing all articles
Browse latest Browse all 415

How do create a stored Procedure

$
0
0
I'm am trying to create a stored procedure that generates the update statements to update incorrectly entered SSN with the correct SSN in over 193 tables with SSN columns one whole transaction. I want this stored proc to log the error messages and rollback the enter transaction in cases where the update fails. How do I approach this? My approach to this exercise is as listed below: if there is an efficient way of doing this, please let me know.I need quality check done on my code. Please Help!!!! CREATE PROCEDURE uspUpdateSSNErrorLog AS SET NOCOUNT ON; CREATE TABLE #UpdateSSNErrorLog ( [ErrorID] [bigint] IDENTITY(1,1) NOT NULL PRIMARY KEY, [ErrorNumber] [nvarchar](50) NOT NULL, [ErrorDescription] [nvarchar](4000) NULL, [ErrorProcedure] [nvarchar](100) NULL, [ErrorState] [int] NULL, [ErrorSeverity] [int] NULL, [ErrorLine] [int] NULL, [ErrorTime] [datetime] NULL ); INSERT INTO #UpdateSSNErrorLog ( ErrorNumber ,ErrorDescription ,ErrorProcedure ,ErrorState ,ErrorSeverity ,ErrorLine ,ErrorTime ) VALUES ( ERROR_NUMBER() ,ERROR_MESSAGE() ,ERROR_PROCEDURE() ,ERROR_STATE() ,ERROR_SEVERITY() ,ERROR_LINE() ,GETDATE() ); SET NOCOUNT OFF; GO CREATE PROCEDURE uspUpdateSSN AS SET NOCOUNT ON; DECLARE @OldSSN VARCHAR(9); DECLARE @NewSSN VARCHAR(9); DECLARE @CMD VARCHAR( 400); -- Create the table. CREATE TABLE #updateSSNlist ( Updatelist varchar(400) ); INSERT INTO #updateSSNlist SELECT 'UPDATE [' + TABLE_SCHEMA + '].[' + TABLE_NAME + '] SET [' + Column_Name + ']=@NewSSN WHERE [' + Column_Name + ']=@OldSSN;' FROM INFORMATION_SCHEMA.COLUMNS WHERE Column_Name ='SSN'; -- Declare a cursor. DECLARE SSN_Update CURSOR FOR SELECT * FROM #updateSSNlist OPEN SSN_Update; FETCH NEXT FROM SSN_Update INTO @CMD; WHILE @@FETCH_STATUS = 0 BEGIN BEGIN TRAN BEGIN TRY EXEC @CMD; FETCH NEXT FROM SSN_Update INTO @CMD; COMMIT TRAN END TRY BEGIN CATCH EXEC uspUpdateSSNErrorLog --To log update errors ROLLBACK END CATCH CLOSE SSN_Update; DEALLOCATE SSN_Update; DROP TABLE #UpdateSSNErrorLog;

Viewing all articles
Browse latest Browse all 415

Trending Articles