MatchUp Object:SQL-CLR:Functions
| MatchUp SQL-CLR Navigation |
|---|
| Overview |
| Tutorial |
| Functions |
mdMUMatchTable
- Compares an Input Table to a Master Table
mdMUMatchTable(<Config File>, <Input Table>, <Master Table>, <Id Field>)
| Name | Description |
|---|---|
| <Config File> | Name of configuration file (from SSIS step). |
| <Input Table> | Name of Input Table. |
| <Master Table> | Name of Master Table. |
| <Id Field> | Name of ID field (optional, specify ‘’ if not desired). |
This function returns a cursor containing each record from <Input Table>. Following each record are the record(s) in <Master Table> that matched the record. For example:
| Id | Result | Dupes | DupeNo | Key |
|---|---|---|---|---|
| 1 | MS03,MS06 | 2 | 0 | 01845DAVID SALINAS 150 FLAGSHIP |
| 58 | MS02,MS06 | 0 | 1 | 01845DAVID SALINAS 150 FLAGSHIP |
| 59 | MS02,MS06 | 0 | 2 | 01845DAVID SALINAS 150 FLAGSHIP |
| 2 | MS03,MS06 | 1 | 0 | 01851BRIAN HARRISON 120 STEDMAN |
| 65 | MS02,MS06 | 0 | 1 | 01851BRIAN HARRISON 120 STEDMAN |
| 3 | MS03,MS06 | 1 | 0 | 01864EVERETT DICKY 35 CONCORD |
Records with result codes containing MS01 (unique) or MS03 (has duplicates) represent records from <Input Table>, ones containing MS02 (dupe) represent records from <Master Table>. <Input Table> records will report the number of duplicates in the Dupes field. The DupeNo field will contain an index of each duplicate record.
You can use a SELECT to determine which records could be inserted into the Master table. For example:
SELECT * FROM mdMUMatchTable(‘TestMatch.cfg’, ‘Candidates’, ‘Master’, ‘Id’) WHERE Left(Result, 4) = ‘MS03’ AND Dupes = 0
mdMUMatchRecord
- Compares a Single Record to a Master Table
mdMUMatchRecord (<Config File>, <Input Fields>, <Master Table>, <Id Field>)
| Name | Description |
|---|---|
| <Config File> | Name of configuration file (from SSIS step). |
| <Input Fields> | Pipe-delimited list of field contents. |
| <Master Table> | Name of Master Table. |
| <Id Field> | Name of ID field (optional, specify ‘’ if not desired). |
This function returns a cursor (having same schema as the one returned by [[#mdMUMatchTable|mdMUMatchTable) containing the single record followed by record(s) in <Master Table> that matched the record. See mdMUMatchTable for details on this cursor.
You can use a SELECT to determine if a record matches one in the Master table. For example:
IF (SELECT Count(*) FROM mdMUMatchRecord(‘TestMatch.cfg’, ‘02346|John Smith|JohnSmith’, ‘Master’, ‘Id’)) <> 0 BEGIN -- Record already exists in Master END
In an interactive application, this function can be used to generate a list of ‘possible matches’ for a CSR as they enter in new client information.
mdMUInsertTable
- Inserts Unique Records from an Input Table into a Master Table
EXEC mdMUInsertTable <retVal> OUT, <Config File>, <Input Table>, <Master Table>
| Name | Description |
|---|---|
| <retVal> | Return value (see below). |
| <Config File> | Name of configuration file (from SSIS step). |
| <Input Fields> | Pipe-delimited list of field contents. |
| <Master Table> | Name of Master Table. |
This procedure inserts all unique records in <Input Table> into <Master Table>, using the information specified in <Config File>. Note that <Input Table> does not need to have a matchcode key field, as matchcodes will be built for records in <Input Table> by this procedure (they do have to exist in <Master Table>, though). When a record from <Input Table> is inserted, all matching fields will be updated in the record in <Master Table>, as well as the matchcode key field.
This is a simple way to insert unique records.
mdMUInsertTrigger
- Insert Trigger for Master Table
An INSERT trigger will execute whenever any user attempts to insert a record in any fashion. Insert triggers are used a bit differently than the other functions:
CREATE TRIGGER TR_Master ON Master INSTEAD OF INSERT AS EXTERNAL NAME MatchUpSQL.MelissaDataDQT.mdMUInsertTrigger
Because the CREATE TRIGGER syntax has no accommodation for parameters, you cannot specify the name of a configuration file here. Instead, mdMUInsertTrigger looks for a configuration file having the same name as the trigger, located in c:\ProgramData\Melissa DATA\MatchUp. In the above example, the file:
c:\ProgramData\Melissa DATA\MatchUp\TR_Master.cfg