테이블에는 113 개의 열이 있습니다. 테이블에 두 개의 기본 레코드가 있습니다. 하나는 알 수없는 레코드이고 다른 하나는 적용 할 수없는 레코드입니다. 따라서 각 열에는 알 수없고 적용 할 수없는 고유 한 기본값이 있습니다.커서로 문장 삽입
나는 두 레코드를 가져 오기 위해 일반 insert 문을 쓰고 싶지 않습니다.
그래서 커서를 사용하여 각 열을 삽입하려고했습니다.
은 INFORMATION_SCHEMA.COLUMNS에서 해당 테이블의 열 이름을 얻었다과 문 "을 선택 삽입"을 사용하여 다른 위치에 정확한 테이블에서 값을 삽입하려고하지만 우리는 INFORMATION_SCHEMA에서 얻을 컬럼의 이름Declare @col_name varchar(50)
declare my_cur CURSOR for
select column_name from information_schema.columns
where table_name = 'tabl' and table_catalog = 'db'
and table_schema = 'dbo'
Fetch next from my_cur
into @col_name
while @@FETCH_STATUS = 0
BEGIN
Insert into db.dbo.tabl (***@col_name***)
select ***@col_name*** from openrowset('sqlncli', 'server=my_server; trusted_connection=yes;', db.dbo.tabl)
fetch next from my_cur into @col_name
end
close my_cur
deallocate my_cur
go
하지만, 내가 @col_name 오히려 개체 (열)
보다, 문자열로 취급 될 것을 몰랐어요,이 경우 또는 대체 솔루션에 대한 주위의 모든 작업이있다.
데이터베이스 디자인을 프론트 데스크의 비서에게 맡겼습니까? – ChaosPandion
테이블은 데이터웨어 하우스의 차원 테이블입니다. 따라서 불평 할 수 없습니다. –
"테이블에는 113 개의 칼럼이 있습니다."... 나는 그곳에서 멈춰서고, 다른 사람들의 조언을 따르고, 디자인을 재고해야한다고 생각합니다. – Tesserex