Hi Dannie,Kalo problemnya belum tersolved, mungkin gw bisa membantu.Menurut gw, statement yg benar seharusnya seperti: SET @SQLString =N'SELECT * from issues where ' + @column + ' = ' + @field_value;EXECUTE (@SQLString)Tp ada problem lainnya, kalo @column itu string type (i.e. varchar, nvarchar), maka sql string nya seperti: SET @SQLString =N'SELECT * from issues where ' + @column + ' = ''' + @field_value + '''';EXECUTE (@SQLString) Sama seperti statement IF ELSE, kamu harus pake pattern yg sama. Let me know if it does not solve the problem. zainal
To: [EMAIL PROTECTED]: [EMAIL PROTECTED]: Mon, 23 Jun 2008 11:44:54 +0800Subject: [BinusNet] Tanya t-sql Hi,Mau nanya tentang t-sql di sql server 2005.Saya bikin cursor seperti di bawah, intinya saya mau cari informasi di tabledan field mana value yg saya punya.Contohnya, saya mau cari value 'UAT' di table issues.Permasalahannya, di line "IF EXISTS (SELECT * from issues where @column [EMAIL PROTECTED])" itu selalu di anggap salah sehingga larinya ke ELSE terus.Saya coba check dengan nambahin beberapa statements buat check,SET @SQLString =N'SELECT * from issues where @column = @field_value';EXECUTE (@SQLString)Ternyata saya dapat error, 'Must declare the scalar variable "@column"Bisa tolong masukannya kenapa @column gak dikenal sebagai value tapi sebagaiparameter terus.Terima kasih.Note: Contoh scriptnya dibawah.----------------------------------------------------------DECLARE @column varchar(50)DECLARE @field_value varchar (50)DECLARE @SQLString NVARCHAR(500);SET @field_value = 'UAT'DECLARE cr_column_names CURSORforselect column_namefrom INFORMATION_SCHEMA.COLUMNSWHERE TABLE_NAME = 'issues'OPEN cr_column_namesFETCH NEXT FROM cr_column_names into @columnWHILE @@FETCH_STATUS = 0BEGIN/* Statement tambahan buat ngecek kenapa di void terus di IF EXIST bawah */SET @SQLString =N'SELECT * from issues where @column = @field_value';EXECUTE (@SQLString)/* *** */IF EXISTS (SELECT * from issues where @column = @field_value) /* Disinikondisinya selalu FALSE */select @columnELSEselect 'Not found, desc: ' + @column + ' and Field value is ' + @field_valueFETCH NEXT FROM cr_column_names into @columnENDCLOSE cr_column_namesDEALLOCATE cr_column_names [Non-text portions of this message have been removed]
