우리는 dbo.GENERATE_UUID라는 함수를 가지고 있습니다. 는 나는이t-sql 내장 함수에 대한 동의어를 만들 수 있습니까?
alter function dbo.GENERATE_UUID()
returns uniqueidentifier
as begin
return (SELECT NEWID())
end
때문에 할 수 없어, compatiblity의 이름을 유지하기를 원하지만 오히려 그러나 NEWID(). 내장 사용하는 것이 "함수 내에서 사이드 초래 운영자 NEWID '의 잘못된 사용을."
그래서 나는
select dbo.GENERATE_UUID()
내가 얻을 때 대신, DBO "또는 사용자 -
drop function dbo.GENERATE_UUID
및
create synonym dbo.GENERATE_UUID for NEWID
하지만"열 중 하나를 찾을 수 없습니다 "하고 싶은 "dbo.GENERATE_UUID"를 집계하거나 이름이 모호합니다. "
는 또한 기능이 내장 TSQL 이런 종류의 동의어를 만들 어쨌든 거기
create synonym dbo.GENERATE_UUID for master.sys.NEWID
에 변화를 시도? 모든 SQL Server 버전 2k5에 관심이 있습니다.
체크 [함수 NEWID (http://stackoverflow.com/questions/772517/newid-inside-sql-server-function) 및 [UDF에 비 결정적 함수를 액세스 (HTTP : //www.sqlpointers.com/2006/07/accessing-non-deterministic-functions.html) –
@amit_g : 나는 그것을 보았다. 사실 그것은 기본적으로 내가 대체하고 싶은 것입니다. 실제로 함수 내에서 호출하지 않기 때문에 NEWID()를 사용할 수 있습니다. 그러나 기존 코드는 사용자 정의 래퍼를 사용하며 동일한 사용자 정의 래퍼는 Oracle 버전에서 제공됩니다. 가능하다면 동의어는 깨끗한 전환을 제공합니다. –
이 방법이 도움이되는지 잘 모르겠다. (흥미 롭다.)'SELECT dbo.GENERATE_UUID()'를 실행하면 동의어를 만들 었는지 여부와 상관없이 같은 오류가 발생한다. – DMason