次のカーソルから2つの情報を取得しようとしています:1。サブドメイン2.ドメインID
このスクリプトは、サブドメインの出力が1文字で最初の文字であることを除いて、うまく機能します。したがって、ドメインID 2のサブドメインが「abc.123domain.com」であるとすると、私の結果は「a」になります。
私がここで間違っていることについて何か考えはありますか?別のデータ型を使用する必要がありますか?
USE testDatabase
declare @sql nvarchar(500)
declare @domainID int
declare @subDomain nvarchar(200)
DECLARE @NewLineChar AS CHAR(2) = CHAR(13) + CHAR(10)
declare domainIDCursor CURSOR
FOR
select domainID from tblDOMAINS
OPEN domainIDCursor
FETCH next from domainIDCursor into @domainID
WHILE @@FETCH_STATUS = 0
BEGIN
set @sql = N' use tblDOMAIN' + convert(nvarchar, @domainID) + @NewLineChar +
+ ' select @subDomain = (select subDomain from tblLocalDomainInfo (nolock))'
execute sp_executesql @sql, N'@subDomain nvarchar output', @subDomain output
print 'subDomain is ' + @subDomain + ' and the domainID is ' + convert(nvarchar,@domainID)
FETCH NEXT from domainIDCursor into @domainID
END
CLOSE domainIDCursor
DEALLOCATE domainIDCursor