Difference between revisions of "Dbo.ufnGetContactInformation (function)"
(New page: == wikibot == {| border="1" cellpadding="5" cellspacing="0" style="border-collapse:collapse" |- | '''function | dbo.ufnGetContactInformation |- |} <pre> CREATE FUNCTION [dbo].[ufnGetCont...) |
|||
| Line 107: | Line 107: | ||
END; | END; | ||
</pre> | </pre> | ||
| + | |||
| + | == automatically generated == | ||
| + | |||
| + | {| border="1" cellpadding="5" cellspacing="0" style="border-collapse:collapse" | ||
| + | |- | ||
| + | | '''function | ||
| + | | dbo.ufnGetContactInformation | ||
| + | |- | ||
| + | |||
| + | | '''Description | ||
| + | | Table value function returning the first name, last name, job title and contact type for a given contact. | ||
| + | |- | ||
| + | |||
| + | |} | ||
| + | |||
| + | <pre> | ||
| + | |||
| + | CREATE FUNCTION [dbo].[ufnGetContactInformation](@ContactID int) | ||
| + | RETURNS @retContactInformation TABLE | ||
| + | ( | ||
| + | -- Columns returned by the function | ||
| + | [ContactID] int PRIMARY KEY NOT NULL, | ||
| + | [FirstName] [nvarchar](50) NULL, | ||
| + | [LastName] [nvarchar](50) NULL, | ||
| + | [JobTitle] [nvarchar](50) NULL, | ||
| + | [ContactType] [nvarchar](50) NULL | ||
| + | ) | ||
| + | AS | ||
| + | -- Returns the first name, last name, job title and contact type for the specified contact. | ||
| + | BEGIN | ||
| + | DECLARE | ||
| + | @FirstName [nvarchar](50), | ||
| + | @LastName [nvarchar](50), | ||
| + | @JobTitle [nvarchar](50), | ||
| + | @ContactType [nvarchar](50); | ||
| + | |||
| + | -- Get common contact information | ||
| + | SELECT | ||
| + | @ContactID = ContactID, | ||
| + | @FirstName = FirstName, | ||
| + | @LastName = LastName | ||
| + | FROM [Person].[Contact] | ||
| + | WHERE [ContactID] = @ContactID; | ||
| + | |||
| + | SET @JobTitle = | ||
| + | CASE | ||
| + | -- Check for employee | ||
| + | WHEN EXISTS(SELECT * FROM [HumanResources].[Employee] e | ||
| + | WHERE e.[ContactID] = @ContactID) | ||
| + | THEN (SELECT [Title] | ||
| + | FROM [HumanResources].[Employee] | ||
| + | WHERE [ContactID] = @ContactID) | ||
| + | |||
| + | -- Check for vendor | ||
| + | WHEN EXISTS(SELECT * FROM [Purchasing].[VendorContact] vc | ||
| + | INNER JOIN [Person].[ContactType] ct | ||
| + | ON vc.[ContactTypeID] = ct.[ContactTypeID] | ||
| + | WHERE vc.[ContactID] = @ContactID) | ||
| + | THEN (SELECT ct.[Name] | ||
| + | FROM [Purchasing].[VendorContact] vc | ||
| + | INNER JOIN [Person].[ContactType] ct | ||
| + | ON vc.[ContactTypeID] = ct.[ContactTypeID] | ||
| + | WHERE vc.[ContactID] = @ContactID) | ||
| + | |||
| + | -- Check for store | ||
| + | WHEN EXISTS(SELECT * FROM [Sales].[StoreContact] sc | ||
| + | INNER JOIN [Person].[ContactType] ct | ||
| + | ON sc.[ContactTypeID] = ct.[ContactTypeID] | ||
| + | WHERE sc.[ContactID] = @ContactID) | ||
| + | THEN (SELECT ct.[Name] | ||
| + | FROM [Sales].[StoreContact] sc | ||
| + | INNER JOIN [Person].[ContactType] ct | ||
| + | ON sc.[ContactTypeID] = ct.[ContactTypeID] | ||
| + | WHERE [ContactID] = @ContactID) | ||
| + | |||
| + | ELSE NULL | ||
| + | END; | ||
| + | |||
| + | SET @ContactType = | ||
| + | CASE | ||
| + | -- Check for employee | ||
| + | WHEN EXISTS(SELECT * FROM [HumanResources].[Employee] e | ||
| + | WHERE e.[ContactID] = @ContactID) | ||
| + | THEN 'Employee' | ||
| + | |||
| + | -- Check for vendor | ||
| + | WHEN EXISTS(SELECT * FROM [Purchasing].[VendorContact] vc | ||
| + | INNER JOIN [Person].[ContactType] ct | ||
| + | ON vc.[ContactTypeID] = ct.[ContactTypeID] | ||
| + | WHERE vc.[ContactID] = @ContactID) | ||
| + | THEN 'Vendor Contact' | ||
| + | |||
| + | -- Check for store | ||
| + | WHEN EXISTS(SELECT * FROM [Sales].[StoreContact] sc | ||
| + | INNER JOIN [Person].[ContactType] ct | ||
| + | ON sc.[ContactTypeID] = ct.[ContactTypeID] | ||
| + | WHERE sc.[ContactID] = @ContactID) | ||
| + | THEN 'Store Contact' | ||
| + | |||
| + | -- Check for individual consumer | ||
| + | WHEN EXISTS(SELECT * FROM [Sales].[Individual] i | ||
| + | WHERE i.[ContactID] = @ContactID) | ||
| + | THEN 'Consumer' | ||
| + | END; | ||
| + | |||
| + | -- Return the information to the caller | ||
| + | IF @ContactID IS NOT NULL | ||
| + | BEGIN | ||
| + | INSERT @retContactInformation | ||
| + | SELECT @ContactID, @FirstName, @LastName, @JobTitle, @ContactType; | ||
| + | END; | ||
| + | |||
| + | RETURN; | ||
| + | END; | ||
| + | </pre> | ||
| + | |||
| + | |||
| + | {| border="1" cellpadding="5" cellspacing="0" style="border-collapse:collapse" | ||
| + | |- style="background:silver" | ||
| + | | '''Referenced Object | ||
| + | | '''Object Type | ||
| + | | '''Dependency Type | ||
| + | |||
| + | |- | ||
| + | | [[HumanResources.Employee_(table)|HumanResources.Employee]] | ||
| + | | Table | ||
| + | | Select | ||
| + | |- | ||
| + | | [[Person.Contact_(table)|Person.Contact]] | ||
| + | | Table | ||
| + | | Select | ||
| + | |- | ||
| + | | [[Person.ContactType_(table)|Person.ContactType]] | ||
| + | | Table | ||
| + | | Select | ||
| + | |- | ||
| + | | [[Purchasing.VendorContact_(table)|Purchasing.VendorContact]] | ||
| + | | Table | ||
| + | | Select | ||
| + | |- | ||
| + | | [[Sales.Individual_(table)|Sales.Individual]] | ||
| + | | Table | ||
| + | | Select | ||
| + | |- | ||
| + | | [[Sales.StoreContact_(table)|Sales.StoreContact]] | ||
| + | | Table | ||
| + | | Select | ||
| + | |} | ||
Revision as of 23:59, 26 November 2009
wikibot
| function | dbo.ufnGetContactInformation |
CREATE FUNCTION [dbo].[ufnGetContactInformation](@ContactID int)
RETURNS @retContactInformation TABLE
(
-- Columns returned by the function
[ContactID] int PRIMARY KEY NOT NULL,
[FirstName] [nvarchar](50) NULL,
[LastName] [nvarchar](50) NULL,
[JobTitle] [nvarchar](50) NULL,
[ContactType] [nvarchar](50) NULL
)
AS
-- Returns the first name, last name, job title and contact type for the specified contact.
BEGIN
DECLARE
@FirstName [nvarchar](50),
@LastName [nvarchar](50),
@JobTitle [nvarchar](50),
@ContactType [nvarchar](50);
-- Get common contact information
SELECT
@ContactID = ContactID,
@FirstName = FirstName,
@LastName = LastName
FROM [Person].[Contact]
WHERE [ContactID] = @ContactID;
SET @JobTitle =
CASE
-- Check for employee
WHEN EXISTS(SELECT * FROM [HumanResources].[Employee] e
WHERE e.[ContactID] = @ContactID)
THEN (SELECT [Title]
FROM [HumanResources].[Employee]
WHERE [ContactID] = @ContactID)
-- Check for vendor
WHEN EXISTS(SELECT * FROM [Purchasing].[VendorContact] vc
INNER JOIN [Person].[ContactType] ct
ON vc.[ContactTypeID] = ct.[ContactTypeID]
WHERE vc.[ContactID] = @ContactID)
THEN (SELECT ct.[Name]
FROM [Purchasing].[VendorContact] vc
INNER JOIN [Person].[ContactType] ct
ON vc.[ContactTypeID] = ct.[ContactTypeID]
WHERE vc.[ContactID] = @ContactID)
-- Check for store
WHEN EXISTS(SELECT * FROM [Sales].[StoreContact] sc
INNER JOIN [Person].[ContactType] ct
ON sc.[ContactTypeID] = ct.[ContactTypeID]
WHERE sc.[ContactID] = @ContactID)
THEN (SELECT ct.[Name]
FROM [Sales].[StoreContact] sc
INNER JOIN [Person].[ContactType] ct
ON sc.[ContactTypeID] = ct.[ContactTypeID]
WHERE [ContactID] = @ContactID)
ELSE NULL
END;
SET @ContactType =
CASE
-- Check for employee
WHEN EXISTS(SELECT * FROM [HumanResources].[Employee] e
WHERE e.[ContactID] = @ContactID)
THEN 'Employee'
-- Check for vendor
WHEN EXISTS(SELECT * FROM [Purchasing].[VendorContact] vc
INNER JOIN [Person].[ContactType] ct
ON vc.[ContactTypeID] = ct.[ContactTypeID]
WHERE vc.[ContactID] = @ContactID)
THEN 'Vendor Contact'
-- Check for store
WHEN EXISTS(SELECT * FROM [Sales].[StoreContact] sc
INNER JOIN [Person].[ContactType] ct
ON sc.[ContactTypeID] = ct.[ContactTypeID]
WHERE sc.[ContactID] = @ContactID)
THEN 'Store Contact'
-- Check for individual consumer
WHEN EXISTS(SELECT * FROM [Sales].[Individual] i
WHERE i.[ContactID] = @ContactID)
THEN 'Consumer'
END;
-- Return the information to the caller
IF @ContactID IS NOT NULL
BEGIN
INSERT @retContactInformation
SELECT @ContactID, @FirstName, @LastName, @JobTitle, @ContactType;
END;
RETURN;
END;
automatically generated
| function | dbo.ufnGetContactInformation |
| Description | Table value function returning the first name, last name, job title and contact type for a given contact. |
CREATE FUNCTION [dbo].[ufnGetContactInformation](@ContactID int)
RETURNS @retContactInformation TABLE
(
-- Columns returned by the function
[ContactID] int PRIMARY KEY NOT NULL,
[FirstName] [nvarchar](50) NULL,
[LastName] [nvarchar](50) NULL,
[JobTitle] [nvarchar](50) NULL,
[ContactType] [nvarchar](50) NULL
)
AS
-- Returns the first name, last name, job title and contact type for the specified contact.
BEGIN
DECLARE
@FirstName [nvarchar](50),
@LastName [nvarchar](50),
@JobTitle [nvarchar](50),
@ContactType [nvarchar](50);
-- Get common contact information
SELECT
@ContactID = ContactID,
@FirstName = FirstName,
@LastName = LastName
FROM [Person].[Contact]
WHERE [ContactID] = @ContactID;
SET @JobTitle =
CASE
-- Check for employee
WHEN EXISTS(SELECT * FROM [HumanResources].[Employee] e
WHERE e.[ContactID] = @ContactID)
THEN (SELECT [Title]
FROM [HumanResources].[Employee]
WHERE [ContactID] = @ContactID)
-- Check for vendor
WHEN EXISTS(SELECT * FROM [Purchasing].[VendorContact] vc
INNER JOIN [Person].[ContactType] ct
ON vc.[ContactTypeID] = ct.[ContactTypeID]
WHERE vc.[ContactID] = @ContactID)
THEN (SELECT ct.[Name]
FROM [Purchasing].[VendorContact] vc
INNER JOIN [Person].[ContactType] ct
ON vc.[ContactTypeID] = ct.[ContactTypeID]
WHERE vc.[ContactID] = @ContactID)
-- Check for store
WHEN EXISTS(SELECT * FROM [Sales].[StoreContact] sc
INNER JOIN [Person].[ContactType] ct
ON sc.[ContactTypeID] = ct.[ContactTypeID]
WHERE sc.[ContactID] = @ContactID)
THEN (SELECT ct.[Name]
FROM [Sales].[StoreContact] sc
INNER JOIN [Person].[ContactType] ct
ON sc.[ContactTypeID] = ct.[ContactTypeID]
WHERE [ContactID] = @ContactID)
ELSE NULL
END;
SET @ContactType =
CASE
-- Check for employee
WHEN EXISTS(SELECT * FROM [HumanResources].[Employee] e
WHERE e.[ContactID] = @ContactID)
THEN 'Employee'
-- Check for vendor
WHEN EXISTS(SELECT * FROM [Purchasing].[VendorContact] vc
INNER JOIN [Person].[ContactType] ct
ON vc.[ContactTypeID] = ct.[ContactTypeID]
WHERE vc.[ContactID] = @ContactID)
THEN 'Vendor Contact'
-- Check for store
WHEN EXISTS(SELECT * FROM [Sales].[StoreContact] sc
INNER JOIN [Person].[ContactType] ct
ON sc.[ContactTypeID] = ct.[ContactTypeID]
WHERE sc.[ContactID] = @ContactID)
THEN 'Store Contact'
-- Check for individual consumer
WHEN EXISTS(SELECT * FROM [Sales].[Individual] i
WHERE i.[ContactID] = @ContactID)
THEN 'Consumer'
END;
-- Return the information to the caller
IF @ContactID IS NOT NULL
BEGIN
INSERT @retContactInformation
SELECT @ContactID, @FirstName, @LastName, @JobTitle, @ContactType;
END;
RETURN;
END;
| Referenced Object | Object Type | Dependency Type |
| HumanResources.Employee | Table | Select |
| Person.Contact | Table | Select |
| Person.ContactType | Table | Select |
| Purchasing.VendorContact | Table | Select |
| Sales.Individual | Table | Select |
| Sales.StoreContact | Table | Select |