ALTER procedure p_replace_cirilic_with_latin
@znach [nvarchar] (4000) output
as
declare @SQL [nvarchar] (4000)
if object_id('t_cirilic_with_latin','U') is NULL
BEGIN
set @SQL = ' CREATE TABLE t_cirilic_with_latin'
+ ' (cir [nvarchar] (1)'
+ ' ,lat [varchar] (3))'
EXEC(@SQL)
insert into t_cirilic_with_latin select 'А','A'
insert into t_cirilic_with_latin select 'Б','B'
insert into t_cirilic_with_latin select 'В','V'
insert into t_cirilic_with_latin select 'Г','G'
insert into t_cirilic_with_latin select 'Д','D'
insert into t_cirilic_with_latin select 'Е','E'
insert into t_cirilic_with_latin select 'Ё','E'
insert into t_cirilic_with_latin select 'Ж','ZSH'
insert into t_cirilic_with_latin select 'З','Z'
insert into t_cirilic_with_latin select 'И','I'
insert into t_cirilic_with_latin select 'Й','I'
insert into t_cirilic_with_latin select 'К','K'
insert into t_cirilic_with_latin select 'Л','L'
insert into t_cirilic_with_latin select 'М','M'
insert into t_cirilic_with_latin select 'Н','N'
insert into t_cirilic_with_latin select 'О','O'
insert into t_cirilic_with_latin select 'П','P'
insert into t_cirilic_with_latin select 'Р','R'
insert into t_cirilic_with_latin select 'С','S'
insert into t_cirilic_with_latin select 'Т','T'
insert into t_cirilic_with_latin select 'У','U'
insert into t_cirilic_with_latin select 'Ц','TS'
insert into t_cirilic_with_latin select 'Ч','CH'
insert into t_cirilic_with_latin select 'Х','H'
insert into t_cirilic_with_latin select 'Ш','SH'
insert into t_cirilic_with_latin select 'Щ','TSH'
insert into t_cirilic_with_latin select 'Ф','F'
insert into t_cirilic_with_latin select 'Ы','I'
insert into t_cirilic_with_latin select 'Э','A'
insert into t_cirilic_with_latin select 'Ю','YU'
insert into t_cirilic_with_latin select 'Я','YA'
insert into t_cirilic_with_latin select 'Ъ',''
insert into t_cirilic_with_latin select 'Ь',''
END
set @SQL = '''' + @znach + ''''
select @SQL = 'replace(' + @SQL + ',''' + cir + ''',''' + lat + ''')'
from t_cirilic_with_latin
set @SQL = 'select ' + @SQL
--select @SQL
create table #F (v [varchar] (4000))
insert #f exec (@SQL)
select @znach = v from #f
drop table #f
/*
declare @sd [nvarchar] (4000)
set @SD = 'Общество с ораниченной ответственностью "АКВАФАРМ"'
exec p_replace_cirilic_with_latin @SD output
select @SD
*/
GO