You would think so. Yes, they are distinct rows to SQL Server from the
internal standpoint of the storage engine. However, you have no access to
it. Even the combination of all columns does not guarantee uniqueness. The
only way to guarantee that is through a primary key/unique index.
But, you are not out of luck. You are just looking at a lot of work to
maintain functionality. If I gave you an object named authors that you
could select, insert, update, and delete from, would you say that is a
table? Not necessarily. It could be a view. This is how you can
accomplish this with zero impact to the application. You simply reame all
of the tables and add something like an identity or some other identifier
that gets you uniqueness. You then create a view corresponding to each
table that bears the original table name, but masks out any of the columns
that you have added in. You have to be extremely careful of parent-child
relationship and will have to code triggers to handle this. You'll have to
use unique indexes instead of primary keys since a uniqe index can handle a
null if necessary. I didn't say it would be easy or very clean, but it will
accomplish what you need.
--
Mike
RapidSQL 5.2 review is up: http://www.mssqlserver.com/products
SQL Server resources: http://www.mssqlserver.com
Jokes, general products, and consulting: http://www.mhotek.com
Certification resources: http://www.certfaq.com
SYSOP PASS Discussion Forums: http://www.sqlpass.org
"Aim high. You can never achieve more than you aspire to." - Al Reis
Please direct all replies to the newsgroup unless specifically stated
otherwise.