Please start any new threads on our new
site at https://forums.sqlteam.com. We've got lots of great SQL Server
experts to answer whatever question you can come up with.
Author |
Topic |
aakcse
Aged Yak Warrior
570 Posts |
Posted - 2012-08-31 : 15:20:25
|
The below code is giving me o/p, ideally it should print TEST3 for Nolump & Nolump values for the col variablesNoLumpNoLumpNULL BEGIN TRYDECLARE @Col_etc_security_user VARCHAR(100)DECLARE @Col_User_mask VARCHAR(100)DECLARE @msg VARCHAR(500)DECLARE @SQLString VARCHAR(max)SELECT @Col_etc_security_user = column_nameFROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = 'Normalized_etc_security_user' and column_name ='LUMP'SELECT @Col_User_mask = column_nameFROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = 'NormalizedUser_mask' and column_name ='LUMP'SELECT isnull(@Col_etc_security_user,'NoLump')SELECT isnull(@Col_User_mask,'NoLump')IF (@Col_etc_security_user = 'lump' AND @Col_User_mask='lump')BEGIN SET @msg= 'Files ''user_mask.txt and /etc/security/user'' does not exist.' RAISERROR( @msg,11,1)ENDIF (@Col_etc_security_user = 'Nolump' AND @Col_User_mask = 'lump')BEGIN SET @SQLString ='TEST1'ENDIF (@Col_etc_security_user = 'lump' AND @Col_User_mask = 'Nolump')BEGIN SET @SQLString ='TEST2'ENDIF (@Col_etc_security_user = 'Nolump' AND @Col_User_mask = 'Nolump')BEGIN SET @SQLString ='TEST3'ENDSELECT (@SQLString)END TRYBEGIN CATCH SELECT ERROR_MESSAGE() AS [User name per /etc/security/user],'' AS [Umask per /etc/security/user],'' AS [user name per .profile],'' AS [Umask Per .Profile],'' AS [Word Writable],'' AS [Testing Attribute A],'' AS [Testing Attribute B] END CATCH -Neil |
|
lionofdezert
Aged Yak Warrior
885 Posts |
Posted - 2012-08-31 : 15:27:21
|
BEGIN TRY DECLARE @Col_etc_security_user VARCHAR(100) DECLARE @Col_User_mask VARCHAR(100) DECLARE @msg VARCHAR(500) DECLARE @SQLString VARCHAR(max) SELECT @Col_etc_security_user = column_name FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = 'Normalized_etc_security_user' and column_name = 'LUMP' SELECT @Col_User_mask = column_name FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = 'NormalizedUser_mask' and column_name = 'LUMP' SELECT @Col_etc_security_user = isnull(@Col_etc_security_user, 'NoLump') SELECT @Col_User_mask = isnull(@Col_User_mask, 'NoLump') IF ( @Col_etc_security_user = 'lump' AND @Col_User_mask = 'lump' ) BEGIN SET @msg = 'Files ''user_mask.txt and /etc/security/user'' does not exist.' RAISERROR ( @msg, 11, 1 ) END IF ( @Col_etc_security_user = 'Nolump' AND @Col_User_mask = 'lump' ) BEGIN SET @SQLString = 'TEST1' END IF ( @Col_etc_security_user = 'lump' AND @Col_User_mask = 'Nolump' ) BEGIN SET @SQLString = 'TEST2' END IF ( @Col_etc_security_user = 'Nolump' AND @Col_User_mask = 'Nolump' ) BEGIN SET @SQLString = 'TEST3' END SELECT ( @SQLString )END TRYBEGIN CATCH SELECT ERROR_MESSAGE() AS [User name per /etc/security/user], '' AS [Umask per /etc/security/user], '' AS [user name per .profile], '' AS [Umask Per .Profile], '' AS [Word Writable], '' AS [Testing Attribute A], '' AS [Testing Attribute B] END CATCH--------------------------http://connectsql.blogspot.com/ |
|
|
visakh16
Very Important crosS Applying yaK Herder
52326 Posts |
Posted - 2012-08-31 : 15:32:16
|
quote: Originally posted by aakcse The below code is giving me o/p, ideally it should print TEST3 for Nolump & Nolump values for the col variablesNoLumpNoLumpNULL BEGIN TRYDECLARE @Col_etc_security_user VARCHAR(100)DECLARE @Col_User_mask VARCHAR(100)DECLARE @msg VARCHAR(500)DECLARE @SQLString VARCHAR(max)SELECT @Col_etc_security_user = column_nameFROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = 'Normalized_etc_security_user' and column_name ='LUMP'SELECT @Col_User_mask = column_nameFROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = 'NormalizedUser_mask' and column_name ='LUMP'SELECT @Col_etc_security_user =isnull(@Col_etc_security_user,'NoLump')SELECT @Col_User_mask =isnull(@Col_User_mask,'NoLump')IF (@Col_etc_security_user = 'lump' AND @Col_User_mask='lump')BEGIN SET @msg= 'Files ''user_mask.txt and /etc/security/user'' does not exist.' RAISERROR( @msg,11,1)ENDSET @SQLString=CASE WHEN (@Col_etc_security_user = 'Nolump' AND @Col_User_mask = 'lump')THEN 'TEST1'WHEN (@Col_etc_security_user = 'lump' AND @Col_User_mask = 'Nolump')THEN 'TEST2'WHEN (@Col_etc_security_user = 'Nolump' AND @Col_User_mask = 'Nolump')THEN 'TEST3'ENDSELECT (@SQLString)END TRYBEGIN CATCH SELECT ERROR_MESSAGE() AS [User name per /etc/security/user],'' AS [Umask per /etc/security/user],'' AS [user name per .profile],'' AS [Umask Per .Profile],'' AS [Word Writable],'' AS [Testing Attribute A],'' AS [Testing Attribute B] END CATCH -Neil
i dont know why you've exec statement there as it doesnt make any sense to me------------------------------------------------------------------------------------------------------SQL Server MVPhttp://visakhm.blogspot.com/ |
|
|
aakcse
Aged Yak Warrior
570 Posts |
Posted - 2012-08-31 : 15:33:59
|
Thanks, I tried this but still I am not able to print 'TEST3' still it say NULL :(-Neil |
|
|
aakcse
Aged Yak Warrior
570 Posts |
Posted - 2012-08-31 : 15:38:02
|
Hi,I tried after adding the below code but still it is giving NULL and not TEST3as the @Col_etc_security_user and @Col_User_mask will be NULL after executing the 2 select stm from information schemathen I assigned nolump by correcting as you saidSET @SQLString=CASE WHEN (@Col_etc_security_user = 'Nolump' AND @Col_User_mask = 'lump')THEN 'TEST1'WHEN (@Col_etc_security_user = 'lump' AND @Col_User_mask = 'Nolump')THEN 'TEST2'WHEN (@Col_etc_security_user = 'Nolump' AND @Col_User_mask = 'Nolump')THEN 'TEST3'END -Neil |
|
|
aakcse
Aged Yak Warrior
570 Posts |
Posted - 2012-08-31 : 15:50:30
|
Hi Visakh,Which exec statement?-Neil |
|
|
aakcse
Aged Yak Warrior
570 Posts |
Posted - 2012-08-31 : 16:11:41
|
Thanks I am able to get the result now, I made a mistake at the below statements, I am getting test3 after correcting ... SELECT @Col_etc_security_user =isnull(@Col_etc_security_user,'NoLump')SELECT @Col_User_mask =isnull(@Col_User_mask,'NoLump')-Neil |
|
|
|
|
|
|
|