![](/img/trans.png)
[英]Cannot find either column “dbo” or the user-defined function or aggregate “dbo.GetUserBranchIDs”, or the name is ambiguous
[英]MS SQL (SSMS)- Cannot find either column "dbo" or the user-defined function or aggregate "dbo.CheckEmail", or the name is ambiguous
創建了一個 function 用於郵件驗證。 它已成功創建。 但是當我運行時,我得到一個錯誤——email checker function
CREATE FUNCTION CheckEmail
(
@Email VARCHAR(100)
)
RETURNS BIT
AS
BEGIN
DECLARE @Result BIT
IF @Email IS NOT NULL
BEGIN
IF @Email LIKE '%[A-Z0-9][@][A-Z0-9]%[.][A-Z0-9]%' AND @Email NOT LIKE '%["<>'']%'
SET @Result = 1;
ELSE
SET @Result = 0;
END
RETURN @Result;
END
-- function 開始
SELECT Email, dbo.CheckEmail(Email) AS CheckEmail
FROM Users;
-- 錯誤:找不到列“dbo”或用戶定義的 function 或聚合“dbo.CheckEmail”,或者名稱不明確。
--用戶表
CREATE TABLE Users (
"Id" UNIQUEIDENTIFIER NOT NULL DEFAULT NEWID(),
"Email" VARCHAR(40) NOT NULL UNIQUE,
"Username" VARCHAR(30) NOT NULL,
"Password" VARCHAR(30) NOT NULL,
"Name" NVARCHAR(50) NOT NULL,
"Surname" NVARCHAR(50) NOT NULL)
錯誤很明顯,因為在表中找不到 dbo.CheckEmail 字段,或者以這種方式調用的 function 。
如果您在使用 AD 的服務器中工作,如果您沒有明確指定架構“dbo”,則會在您的 DOMAIN\user 上創建 function
解決這個問題:
CREATE FUNCTION CheckEmail
至:
CREATE FUNCTION dbo.CheckEmail
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.