set quoted_identifier on
goset ansi_nulls on
goalter procedure findfieldbyonenvarchar @tablename nvarchar(20),@onerowsql nvarchar(4000),@inonenvarchar nvarchar(20)
as/*
在乙個表中找出與@inonenvarchar相同值的欄位名稱
呼叫示例:exec findfieldbyonenvarchar n'default_setting',n'select * from default_setting',2
*/declare @name nvarchar(100)
declare @strsql nvarchar(4000)
declare @fresult nvarchar(200)
declare rowsetcur cursor for select name from syscolumns where id=object_id(@tablename,n'table')
open rowsetcur
fetch next from rowsetcur into @name
while @@fetch_status=0
begin
set @strsql=n'select @fresult=cast(a.['+@name+'] as nvarchar(200)) from ('+ @onerowsql+') a '
--print @strsql
execute sp_executesql @strsql,n'@fresult nvarchar(200) out',@fresult out
--print @fresult+':'+@inonenvarchar
if @@error<>0 begin print @name+':error!' break end
if @fresult=@inonenvarchar
print @name+';'
fetch next from rowsetcur into @name
endclose rowsetcur
deallocate rowsetcur
goset quoted_identifier off
goset ansi_nulls on
go
mysql的表名 欄位名 字段值是否區分大小寫
1 mysql預設情況下是否區分大小寫,使用show variables like table names 檢視lower case table names的值,0代表區分,1代表不區分。2 mysql對於型別為varchar資料預設不區分大小寫,但如果該字段以 bin 編碼的話會使mysql對其區...
mysql的表名 欄位名 字段值是否區分大小寫
1 mysql預設情況下是否區分大小寫,使用show variables like table names 檢視lower case table names的值,0代表區分,1代表不區分。2 mysql對於型別為varchar資料預設不區分大小寫,但如果該字段以 bin 編碼的話會使mysql對其區...
MYSQL在眾多表中查詢表名和欄位名
在mysql 眾多表中查詢乙個表名或者欄位名的 sql 語句 select table name,column name from information schema.columns where column name like name 下面兩種方法也可以查到 select column nam...