2016-04-02 27 views
-1

ile uyumsuz Bu kodu çalıştırırken bu hatayı yaşıyorum. İşlenen tipi çakışması: uniqueidentifier, int ile uyumsuz. Bu hatayı kaldıracak çözümler nelerdir? TeşekkürSQL-Server - İşlenen türü çakışması: uniqueidentifier, int

CREATE FUNCTION [a01].[udf_isUserActive] 
(@AccountID INTEGER) 
    RETURNS BIT 
    AS 
    BEGIN 
IF (EXISTS (SELECT accountID 
      FROM [a01].[tbl_userAccounts] 
      WHERE accountID = @AccountID 
        AND isActive = 1)) 
    RETURN 1; 

RETURN 0; 
END; 
GO 
+2

'HesapID'nin veri türü 'benzersiz belirleyicidir' tamsayı değil. –

+0

işlevi CREATE [A01]. [Udf_isUserActive] (@AccountID Uniqueidentifier) ​​(([A01]. [Tbl_userAccounts] WHERE accountid = @AccountID ve isActive = 1 DAN accountid SEÇ mevcut ise BEGIN OLARAK DÖNDÜRÜR BIT)) RETURN 1; RETURN 0; END; GO – BakingCake

+0

Bu iyi bir sürümdür ^? – BakingCake

cevap

1

Büyük olasılıkla tbl_userAccounts tip UNIQUEIDENTIFIER bir AccountID sahiptir ve bir UNIQUEIDENTIFIER ile @AccountID INTEGER karşılaştırmak çalışıyoruz.

Yan not: Tüm içeriği sağlamanız gerekir: tablo şeması ve işlev çağrısı içeriği. Seçilen her satırda skaler fonksiyonlar çağrıldığı için bu işlevi çağırmanın da performance problems'a yol açabileceği büyük bir değişiklik.