Solved

checksum autogeneration

Posted on 2013-06-05
6
494 Views
Last Modified: 2013-06-11
hi guys
I want to create a table Customer with 4 columns

Customer
Id Name Price Checksum


checksum value needs to be autopopulated when an insert occurs
and on update of that row the checksum should update aswell
does sql server provide any such feature?

I am using md5 checksum in my java front end , so that way i can check if the row already exists in the table.

thanks
0
Comment
Question by:royjayd
  • 3
  • 2
6 Comments
 

Author Comment

by:royjayd
ID: 39223207
experts,
Can anyone please help with this. I want to know if checksum can be calculated and saved for each row

thanks
0
 
LVL 65

Accepted Solution

by:
Jim Horn earned 200 total points
ID: 39223490
Define for us in standard English terms what you mean by 'checksum', keeping in mind that what I know about md5 and Java can be written on the back of a matchbook cover, in large letters, with a grease pencil.
0
 

Author Comment

by:royjayd
ID: 39223533
Thanks for responding..

By 'checksum' i mean a unique code for a row of data
So each row will have its own checksum or unique code.
I looked around and see that sql server has a checksum function so in my case for
above Customer table  it would be
CHECKSUM(Id,Name,Price);

how ever what i want to do is
when a new row is inserted into the Customer table create the CHECKSUM for it and insert it in the Checksum column
i tried something like

CREATE TABLE [ado].[CUSTOMER](
      [ID] [nvarchar](16) NULL,
      [Name] [nvarchar](100) NULL,
      [Price] [nvarchar](100) NULL,      
      [CheckSum] [nvarchar](100) DEFAULT CHECKSUM([ado].[CUSTOMER].ID,[CUSTOMER].Name,[CUSTOMER].Price)

but it doesnt seem to work.

Thanks
0
What Should I Do With This Threat Intelligence?

Are you wondering if you actually need threat intelligence? The answer is yes. We explain the basics for creating useful threat intelligence.

 
LVL 48

Assisted Solution

by:PortletPaul
PortletPaul earned 200 total points
ID: 39224366
you are attempting to avoid testing if a record does actually exist in the data persistence layer by using a calculation in the business logic layer

too many things could go wrong with this and I would not recommend it.

but hashbytes() will provide an MD5:
http://msdn.microsoft.com/en-us/library/ms174415.aspx

this can be coupled with "computed column" PERSISTED
http://msdn.microsoft.com/en-us/library/ms191250(v=sql.105).aspx

also ...
>>  [Price] [nvarchar](100) NULL,      
numeric data in nvarchar is generally a bad idea - it causes a great deal of overhead in all queries when adding/summing/filtering etc.
0
 

Author Comment

by:royjayd
ID: 39226871
the point of this excercise is i have two tables

TableA and TableB
with exact same number of columns but different data

TableA
col1 col2 col3  checksum

TableB
col1 col2 col3  checksum


Now TableA gets refreshed every 30 minutes with new data from a remote database table

The new data which arrived in TableA needs to be inserted in TableB.

So what i have in mind is if each row has its own checksum in both the tables,
compare the checksum for each row in TableA v/s TableB

The checksum(s) in TableA missing in TableB are the new rows, so add them to TableB


Do you think my approach is wrong ?

thanks
0
 
LVL 48

Expert Comment

by:PortletPaul
ID: 39227813
What I had in my mind when expressing the opinion before didn't involve table synchronization.

Other experts here will be far more experienced than I am on this table synchronization need
0

Featured Post

Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

Join & Write a Comment

Suggested Solutions

This is basically a blog post I wrote recently. I've found that SARGability is poorly understood, and since many people don't read blogs, I figured I'd post it here as an article. SARGable is an adjective in SQL that means that an item can be fou…
In this article I will describe the Detach & Attach method as one possible migration process and I will add the extra tasks needed for an upgrade when and where is applied so it will cover all.
This demo shows you how to set up the containerized NetScaler CPX with NetScaler Management and Analytics System in a non-routable Mesos/Marathon environment for use with Micro-Services applications.
This tutorial demonstrates a quick way of adding group price to multiple Magento products.

708 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now