|
Hi All,
Ok I know theres a command(sproc) to check for deadlocks and to remove them. Can someone refresh my memory plz?
DNM
|
|
|
|
|
Don't know about removing deadlocks, but sp_who2 will show who is being blocked and by whom.
sp_lock will show locked objects
Hope this helps
Bob
Ashfield Consultants Ltd
|
|
|
|
|
|
Hi,
Don't remember any sp to detect deadlocks or remove them since this is an automatic process in SQL Server (except in Compact edition). However you can:
- configure the amount of time for deadlock detection
- set deadlock priority for a session
- use trace flags to obtain more data on deadlock
Mika
|
|
|
|
|
HI,
i really donot know how to remove deadlock but yes we can configure der time n other factors.
sp_who2 and sp_lock will give u list of object which are blocked.
|
|
|
|
|
IS it proper to make tables where you would have an object in c# or vb? Like as an example I am storing in this case blood pressure data. which arm, what time, if they were resting, the actual blood pressure, etc. But for each patient they get their blood pressure taken 4 times so I really need to store 4 of each item. So my question is, is it correct to make a table called blood pressures and store 4 entries for each patient?
|
|
|
|
|
bfis108137 wrote: So my question is, is it correct to make a table called blood pressures and store 4 entries for each patient?
Depends on how you like it. Actually this is not bad.
But still, we can break this into two tables; lets say PatientDetails(with all crap like his name, address but most important an ID which will be used to map the other table) and PatientBloodPressure.
Hope this helps
|
|
|
|
|
Is it ok to put it all in one because I will tell you that I think it might make my databindings easier. I do want to do it professionally though because they are paying me after all and I don't want someone to come by later and get really crazy mad at the programmer that wrote it.
|
|
|
|
|
bfis108137 wrote: I do want to do it professionally though because they are paying me after all
Appreciable
See, why I suggested having two tables was due to the fact that in future they may want have report or functionality which only wants Patient Details. Now this thing has nothing to do with his Blood Pressure. Or in some other case they may want to store some other test details which should be seperate from the Blood Pressure.
Did I make my point clear?
|
|
|
|
|
bfis108137 wrote: make my databindings easier
You can use a JOIN when you query the data.
|
|
|
|
|
yes but when I do my app I will want to bind the data and in order to bind it I will have to make a seperate bindingsource for each blood pressure. If it was all in the main table then it would already be ready to bind.
|
|
|
|
|
I find that unlikely, but I don't bind so who am I to say?
|
|
|
|
|
Storing the patient details in the same table as the test data would be one of the most basic errors you can make. Can I get this across better - DO NOT STORE THE PATIENT DETAILS IN THE TESTING TABLE.
I will guarantee you this, 2 things, as Manas pointed out your client WILL ask for such a report and 2nd anyone looking at your structure will KNOW that you have no idea about database design.
Please get a beginners book on data design NOW, find out what normalisation is, get to know what a relational DB actually does and then get stuck in.
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
I have a seperate table for patient data. I am not planning on adding this to that table heaven forbid. I have another table that deals with testing and such. I am debating on whether or not to add another table for each test.
|
|
|
|
|
Heaven forbid indeed, it sounds like you already know what a nightmare that would be, sorry foe getting the wrong handle on the issue.
I would have only 1 table for tests and either have a test type if they vary or a sequence/date if they are repeated. You can alwys use a dataview to filter and sort the data prior to binding it.
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
The most important part of your application is that you store data properly. That is the whole point of writing this. If you stuff your data model up to make it a little easier for you to write some UI, you will definitely regret it later on when you have to work around these bad decisions when adding reporting, etc. You will also expose yourself to horrible bugs - like "Patient changed name, can't find any blood pressure records".
Get your domain model on paper first. Then get your database design right. Then get your data layer mapped to it properly. Then worry about the UI.
|
|
|
|
|
Excellent answer. As a rule of thumb I would say that always use at least third normal form in db design when creating oltp system.
Mika
|
|
|
|
|
Hi guys,
My weak T-SQL skills have let me down once again
I have 2 tables, ACCOUNTS and ADDRESSES within a database that I need to return data from.
I each account in the ACCOUNTS table can have zero or more addresses and I need to select from the ADDRESSES TABLE two specific addresses, if available.
Before I carry on, I should point out I indent to use a Stored Procedure.
So I need to SELECT an account from ACCOUNTS and the Primary address from ADDRESSES (signified by column IsPrimary = True) and the Invoice Address from ADDRESSES (where the Type = 'INVOICE'). The result should be one row per account and should always return the account even if there is no Primary or Invoice address.
I am eternally grateful for any assistance, and examples on how to achieve the desired result.
Thanks
Steve Jowett
-------------------------
It is offen dangerous to try and see someone else's point of view, without proper training. Douglas Adams (Mostly Harmless)
|
|
|
|
|
Use LEFT OUTER JOIN; something like:
SELECT Accounts.ID
,Accounts.Name
,Paddress.whatever
,Iaddress.whatever
FROM Accounts
LEFT OUTER JOIN Addesses Paddress
ON Accounts.Id=Paddress.AccountId
AND Paddress.IsPrimary=1
LEFT OUTER JOIN Addesses Iaddress
ON Accounts.Id=Iaddress.AccountId
AND Iaddress.Type='Invoice'
|
|
|
|
|
I knew it would be simple, I am learning, I promise.
Thanks for the quick response.
Steve Jowett
-------------------------
It is offen dangerous to try and see someone else's point of view, without proper training. Douglas Adams (Mostly Harmless)
|
|
|
|
|
I have now inspected the sample SQL code you provided and have identified where I was failing. In short the AND clause of each of the LEFT OUTER JOIN. I was originally attempting to use a WHERE clause at the end of the SELECT.
Thanks again
Steve Jowett
-------------------------
It is offen dangerous to try and see someone else's point of view, without proper training. Douglas Adams (Mostly Harmless)
|
|
|
|
|
I expect either would do, but I prefer to put it in ON in the (perhaps mistaken) belief that it is more efficient (in some cases).
|
|
|
|
|
They WHERE option would return a different result to the cluase on the JOIN. If I was filter on the WHERE then a Primary AND Invoice address would need to be present for a result to be returned. Your example will return a result even is there is not a Primary or Invoice address.
Steve Jowett
-------------------------
It is offen dangerous to try and see someone else's point of view, without proper training. Douglas Adams (Mostly Harmless)
|
|
|
|
|
hi all
im converting a load of queries from MySQL to MSSQL and have run into a problem and was wondering if anyone had any ideas.....
I currently have:
SELECT 'PI' AS transaction_type, t1.supplier_code, t1.nominal_code, '01-01-2006' AS my_dispatch_date, t2.name AS resourcename, t2.reference, '1.20' AS royalty_amount,
t3.code, '1.21' AS tax_amount, '1' AS blank_field_2, '_' AS blank_field_3, '_' AS blank_field_4
FROM order_line AS t4 INNER JOIN
resource AS t2 ON t4.resource_id = t2.resource_id INNER JOIN
supplier_codes AS t1 ON t2.reference = t1.reference AND t4.dispatch_date >= t1.payment_start_date AND t4.dispatch_date <= t1.payment_end_date INNER JOIN
partners AS t5 ON t1.partner_id = t5.partner_id INNER JOIN
tax_codes AS t3 ON t5.tax_code = t3.id INNER JOIN
partner_type AS t6 ON t1.partner_type_id = t6.partner_type_id
WHERE (t4.status = 1) AND (t4.dm <> 'ZX') AND (t4.dispatch_date >= @from) AND (t4.dispatch_date <= @to)
ORDER BY t4.dispatch_date, t2.reference
but i need to group by t1.reference, t1.supplier_code but obviously it keeps telling me I can't do that, my brains a bit fried atm, if anyones got any great ideas it would be really helpful
ta
tim
|
|
|
|
|
To use group by, you need an aggregate... sum(...) or count(...) or avg(...), etc.
Tim
|
|
|
|