변수 테이블에서 열에 대한 명확한 이름을 가져옵니다 : "# 468862B0"내가 같은 테이블 변수를 선언 할 수
select top 1 * from tempdb.sys.tables where type = 'U' order by create_date desc
select TOP 1 name,* from tempdb.sys.sysobjects ORDER BY CRDATE desc
:
DECLARE @tv_source TABLE(c1 int,
providerName varchar(50),
providerSMS varchar(50))
을 난 후 다음을 실행하면, 나는 유사한 테이블 이름을 참조
나는 즉시 실행하면 :
select TOP 3 *
from tempdb.sys.columns
where object_id in (select TOP 1 object_id from tempdb.sys.tables ORDER BY Create_date desc)
는 내가 테이블 변수에 대한 위에서 언급 열을 참조하십시오.
내 질문에, "@tv_source"위의 테이블 선언에서 선언 한 이름과 해당 열을 명확하게 연결할 수있는 방법이 있습니까?
정상적인 테이블에서는 실제 이름이 표시되지만 위에서 언급 한 것처럼 테이블 변수는 16 진수 값으로 변합니다 (btw는 object_id의 16 진수 값입니다).
동적 SQL이 허용됩니까? – PinnyM
@HamletHakobyan 테이블 변수가 항상 tempdb에 생성됨 –
@PinnyM 동적 SQL이 도움이 될 것이라고 생각하지 않지만 동적 SQL 자체의 텍스트가 아니라 데이터베이스의 정보를보고 싶습니다. 테이블의 범위를 명심하십시오 변수는 여기에 있습니다. 즉, 어떤 해결책을 볼 의향이 있습니다 :) –