dynamic update

 USE [DellPII]

GO


/****** Object:  StoredProcedure [dbo].[SP_DynamicUpdate]    Script Date: 3/29/2022 10:49:24 AM ******/

SET ANSI_NULLS ON

GO


SET QUOTED_IDENTIFIER ON

GO


CREATE PROCEDURE [dbo].[SP_DynamicUpdate]


@TableName  sysname,

@ColumnName  sysname,

@values int

--@joincolumn nvarchar(50)


AS


BEGIN

--DECLARE @statement NVARCHAR(4000),

--@parameterDefinition NVARCHAR(4000)




----OPEN SYMMETRIC KEY SymKey_test                      

----DECRYPTION BY CERTIFICATE Certificate_test;   



--Declare @TableName1 nvarchar(50), @ColumnName1 nvarchar(50)

--SET @TableName1=@TableName,@ColumnName=@ColumnName


--SET @statement =N'Update  @TableName1 SET @ColumnName1  =EncryptByKey (Key_GUID(''SymKey_test''),@ColumnName1)'

----SET @statement =N'Update'  +@TableName+ 'SET'+ @ColumnName+'=EncryptByKey (Key_GUID(''SymKey_test''),'+@ColumnName+')'

----from @TableName1 INNER JOIN [vw_DellPII_SRMS_TXNS] as Vw ON @TableName1.@joincolumn1 = Vw.Incident_Number'

--SET @parameterDefinition = '@TableName1 nvarchar(50),@ColumnName1 nvarchar(50)'

----,@joincolumn1 nvarchar(50)'


----CLOSE SYMMETRIC KEY SymKey_test; 


--EXECUTE sp_executesql @statement, @parameterDefinition, @TableName1=@TableName, @ColumnName1=@ColumnName













     -- DECLARE @SQL NVARCHAR(2000)

     -- SET @SQL = 'UPDATE @TableName SET @Columnname=@values'



     --EXEC sp_executesql @SQL, N'@TableName  nvarchar(50) @ColumnName  nvarchar(50) @values int',@TableName = @TableName,@ColumnName = @ColumnName,@values=@values




--declare @col varchar(100);

declare @sql nvarchar(max);


--set @col = 'Reported_Style';

--set @col = @ColumnName;


--set @sql =  'select ' + @col + ' from '+ @TableName;


set @sql =  'Update ' + @TableName + ' set '+ @ColumnName +'=EncryptByKey (Key_GUID(''SymKey_test''),@ColumnName)';



exec sp_executesql @sql,N'@ColumnName sysname' ,@ColumnName = @ColumnName ;


END

GO


------------------------------------------------------------------------------------------------------------------------

USE [DellPII]

GO


/****** Object:  StoredProcedure [dbo].[SP_DynamicUpdate1]    Script Date: 3/29/2022 10:50:44 AM ******/

SET ANSI_NULLS ON

GO


SET QUOTED_IDENTIFIER ON

GO



CREATE  PROCEDURE [dbo].[SP_DynamicUpdate1]


@TableName  sysname,

@ColumnName  sysname,

@ClientID nvarchar(1),

@SecureID int,

@joincolumn nvarchar(100),

@Isactive int,

@message ntext output,

@count int output


AS


BEGIN


declare @sql nvarchar(max);

declare @Redactvalue nvarchar(10)

set @Redactvalue='''REDACTED'''

declare @settablename nvarchar(50)

set @settablename=@TableName


Begin Try



IF (@SecureID = 1 )

Begin


OPEN SYMMETRIC KEY SymKey_test

DECRYPTION BY CERTIFICATE Certificate_test;




--set @sql =  'Update ' + @TableName + ' set '+ @ColumnName +'=EncryptByKey (Key_GUID(''SymKey_test''),'+@ColumnName+') ,'

--   +' Isencrypt = 1'

--+' from [dbo].[vw_UCAREPII_TXNS] vw inner join dbo.'+@tablename+' as a on vw.incident_number=a.'+@joincolumn+

--' where vw.clientid='+@clientid +' and a.Isencrypt <> 1';



set @sql =  'Update ' + @TableName + ' set '+ @ColumnName +'=EncryptByKey (Key_GUID(''SymKey_test''),'+@ColumnName+') '

  

+' from [dbo].[vw_UCAREPII_TXNS] vw inner join dbo.'+@tablename+' as a on vw.incident_number=a.'+@joincolumn+

' where vw.clientid='+@clientid +' and a.Isencrypt <> 1';

print(@sql)




End


Else if(@SecureID = 2 )

Begin

OPEN SYMMETRIC KEY SymKey_test

DECRYPTION BY CERTIFICATE Certificate_test;

set @sql =  'Update ' + @TableName + ' set '+ @ColumnName +'=' +@Redactvalue

+'from [dbo].[vw_UCAREPII_TXNS] vw inner join dbo.'+@tablename+' as a on vw.incident_number=a.'+@joincolumn+

' where vw.clientid='+@clientid +' and a.Isencrypt <> 1' ;

print(@sql)



End


Else if(@SecureID = 3 )

Begin


OPEN SYMMETRIC KEY SymKey_test

DECRYPTION BY CERTIFICATE Certificate_test;

set @sql =  'Update ' + @TableName + ' set '+ @ColumnName +'=DecryptByKey('+@ColumnName+')'

+'from [dbo].[vw_UCAREPII_TXNS] vw inner join dbo.'+@tablename+' as a on vw.incident_number=a.'+@joincolumn+

' where vw.clientid='+@clientid;

print(@sql)



End


ELSE

BEGIN

PRINT('')

END


IF(@Isactive =1)

BEGIN


exec sp_executesql @sql,N'@ColumnName sysname' ,@ColumnName = @ColumnName ;


set @message='Operation completed'




END


CLOSE SYMMETRIC KEY SymKey_test;


end TRY


Begin Catch



set @message=error_message()


End catch


END

GO


-----------------------------------------------------------------------------------------------------------------------

USE [DellPII]

GO


/****** Object:  StoredProcedure [dbo].[SP_DynamicUpdate2]    Script Date: 3/29/2022 10:51:58 AM ******/

SET ANSI_NULLS ON

GO


SET QUOTED_IDENTIFIER ON

GO


CREATE PROCEDURE [dbo].[SP_DynamicUpdate2]


@TableName  sysname,

@ColumnName  sysname,

@ClientID int,

@SecureID int


AS


BEGIN


declare @sql nvarchar(max);

declare @Redactvalue nvarchar(10)

set @Redactvalue='''REDACTED'''




IF (@SecureID = 1)

Begin


set @sql =  'Update ' + @TableName + ' set '+ @ColumnName +'=dbo.ufn_EncryptString('+@ColumnName+')';

print(@sql)



End


Else if(@SecureID = 2)

Begin


set @sql =  'Update ' + @TableName + ' set '+ @ColumnName +'=' +@Redactvalue;

print(@sql)

End


Else

Begin



set @sql =  'Update ' + @TableName + ' set '+ @ColumnName +'=dbo.ufn_DecryptString('+@ColumnName+')';

print(@sql)


End



exec sp_executesql @sql,N'@ColumnName sysname' ,@ColumnName = @ColumnName ;






END

GO



Comments

Popular posts from this blog

java chapter11 practice question on abstruct class and interfaces

DAY 12 -AZURE DP900(Microsoft Azure Data Fundamentals: Explore non-relational data in Azure)

java exercise4