[SQL] 어떻게 2008 SQL 서버에서이 계산 열을 변경할 수 있습니다?
SQL어떻게 2008 SQL 서버에서이 계산 열을 변경할 수 있습니다?
나는 다음과 같은 라인을 만들어 계산 된 열이 :
alter table tbPedidos
add restricoes as (cast(case when restricaoLicenca = 1 or restricaoLote = 1 then 1 else 0 end as bit))
하지만, 지금 내가 좋아하는 뭔가를이 열을 변경해야합니다 :
alter table tbPedidos
alter column restricoes as (cast(case when restricaoLicenca = 1 or restricaoLote = 1 or restricaoValor = 1 then 1 else 0 end as bit))
그러나 그것은 작동하지 않습니다. 내가 입력 case 문에 다른 조건을 시도하고 있지만, 제대로 동작하지 않습니다.
고마워요!
해결법
-
==============================
1.기존 열을 변경하려는 경우, 당신은 ADD를 사용할 수 없습니다. 대신,이 시도 :
기존 열을 변경하려는 경우, 당신은 ADD를 사용할 수 없습니다. 대신,이 시도 :
테이블 변경 tbPedidos 같은 ALTER 열 restricoes (캐스팅 (케이스 때 restricaoLicenca restricaoLote = 1 = 1 = 1 restricaoValor 그런 다음 1 비트 0 다른 단부))
편집 : 위의가 올바르지 않습니다. 계산 된 열을 변경하는 경우 당신이 할 수있는 유일한 방법은 그것을 삭제하고 재 - 추가입니다.
-
==============================
2.이 같은:
이 같은:
ALTER TABLE dbo.MyTable DROP COLUMN OldComputedColumn ALTER TABLE dbo.MyTable ADD OldComputedColumn AS OtherColumn + 10
출처
-
==============================
3.이것은 쉽고 빠르게 단지 SQL Server 관리 Studio의 다이어그램 기능을 사용할 수 있습니다 이러한 상황 중 하나입니다.
이것은 쉽고 빠르게 단지 SQL Server 관리 Studio의 다이어그램 기능을 사용할 수 있습니다 이러한 상황 중 하나입니다.
SSMS에서이 방법을 수행하면 추가가 보장하지 않습니다 ... 당신의 테이블의 컬럼의 순서, 간단한 드롭을 유지합니다. 이것은 일부 중요 할 수있다.
-
==============================
4.누군가에게 도움이 될 수있는 또 다른 것은 테이블 (다음 쿼리는 SQL입니다)에서 계산 된 컬럼의 기능을 수정하는 방법입니다 :
누군가에게 도움이 될 수있는 또 다른 것은 테이블 (다음 쿼리는 SQL입니다)에서 계산 된 컬럼의 기능을 수정하는 방법입니다 :
ALTER <table> DROP COLUMN <column> ALTER FUNCTION <function> ( <parameters> ) RETURNS <type> BEGIN ... END ALTER <table> ADD <column> as dbo.<function>(parameters)
노트:
from https://stackoverflow.com/questions/2372655/how-can-i-alter-this-computed-column-in-sql-server-2008 by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 는 SQL 애저의 정체성 씨앗을 다시 설정하는 방법 (0) | 2020.07.16 |
---|---|
[SQL] STRING_AGG에서 고유 값을 생성합니다 (0) | 2020.07.16 |
[SQL] 일정에 대한 MySQL의 질문 (0) | 2020.07.16 |
[SQL] 저자에 의해 표현 엔진 SQL 쿼리 항목 목록 (0) | 2020.07.16 |
[SQL] 어떻게 내가 어디 절에 별칭을 사용합니까? [복제] (0) | 2020.07.15 |