반응형
임시 테이블에서 필드 이름을 검색하는 방법(SQL Server 2008)
SQL Server 2008을 사용하고 있습니다.다음과 같은 임시 테이블을 만든다고 가정합니다.
create table #MyTempTable (col1 int,col2 varchar(10))
필드 목록을 동적으로 검색하려면 어떻게 해야 합니까?저는 다음과 같은 것을 보고 싶습니다.
Fields:
col1
col2
sys.columns를 조회하려고 하는데 임시 테이블에 대한 정보가 저장되지 않는 것 같습니다.아이디어 있어요?
select * from tempdb.sys.columns where object_id =
object_id('tempdb..#mytemptable');
select *
from tempdb.INFORMATION_SCHEMA.COLUMNS
where table_name like '#MyTempTable%'
information_schema를 사용하고 다른 세션과 충돌하지 않으려면:
select *
from tempdb.INFORMATION_SCHEMA.COLUMNS
where table_name =
object_name(
object_id('tempdb..#test'),
(select database_id from sys.databases where name = 'tempdb'))
임시 테이블은 "tempdb"에 정의되며 테이블 이름은 "mangledb"입니다.
이 쿼리는 다음과 같은 작업을 수행합니다.
select c.*
from tempdb.sys.columns c
inner join tempdb.sys.tables t ON c.object_id = t.object_id
where t.name like '#MyTempTable%'
마르크
당신도 방법을 따름으로써 그것을 할 수 있습니다.
create table #test (a int, b char(1))
select * From #test
exec tempdb..sp_columns '#test'
앤서니
아래의 것을 시험해 보세요.그것은 우리의 예상 생산량을 제공할 것입니다.
select c.name as Fields from
tempdb.sys.columns c
inner join tempdb.sys.tables t
ON c.object_id = t.object_id
where t.name like '#MyTempTable%'
select *
from tempdb.INFORMATION_SCHEMA.COLUMNS
where TABLE_NAME=OBJECT_NAME(OBJECT_ID('#table'))
언급URL : https://stackoverflow.com/questions/756080/how-to-retrieve-field-names-from-temporary-table-sql-server-2008
반응형
'programing' 카테고리의 다른 글
| SQL에서 ON 절과 using 절의 차이 (0) | 2023.07.16 |
|---|---|
| mysql은 오라클의 "분석 기능"과 동등합니까? (0) | 2023.07.16 |
| 마이크로서비스 롤백 방법 (0) | 2023.07.16 |
| SOL_SOCKET의 용도는 무엇입니까? (0) | 2023.07.16 |
| ggplot에서 범례 제목을 변경하는 방법 (0) | 2023.07.16 |