Joins On Uniqueidentifier Columns
Nov 23, 2006
I have recently introduced Microsoft’s
user/roles facility by running aspnet_regsql.exe against my database so that I
would be able to link activities with staff members.
In testing I was able to
Join 2
tables (Reservations and aspnet_Users) with the join fields being of type
uniqueidentifier, using SQL Server Manager Studio Express diagram
facility; Create
a record in aspnet_Users using Microsoft’s
Website Admin toolCreate
a record in Reservations and paste in the contents of uniqueidentifier
field in aspnet_Users using SQL Server Manager Studio Express
All the basic tests had been fine so I created a web page
with a detailsview of the Reservations table and made a templated field (in the
insertitemtemplate), replaced the text box with a dropdown and did a bind of
that dropdown to the relevant records in the aspnet_Users table i.e. UserName
and UserId columns with UserName being displayed. The source is as follows:
<asp:TemplateField HeaderText="Taken By" SortExpression="RES_Taken_By_Staff_ID">
<EditItemTemplate>
<asp:TextBox ID="TextBox5" runat="server" Text='<%#
Bind("RES_Taken_By_Staff_ID") %>'></asp:TextBox>
</EditItemTemplate>
<InsertItemTemplate>
<asp:DropDownList ID="DropDownList5" runat="server" DataSourceID="SDSStaff" DataTextField="UserName"
DataValueField="UserId">
</asp:DropDownList><br />
<asp:SqlDataSource ID="SDSStaff" runat="server" ConnectionString="<%$ ConnectionStrings:ReservationsDBConnectionString %>"
SelectCommand="SELECT
[UserId], [UserName] FROM [vw_aspnet_Users]"></asp:SqlDataSource>
</InsertItemTemplate>
<ItemTemplate>
<asp:Label ID="Label5" runat="server" Text='<%#
Bind("RES_Taken_By_Staff_ID") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
Everything looks OK, the correct data appears in the dropdown
but when I hit the INSERT button I receive the following failure message:
Implicit conversion from data type sql_variant to uniqueidentifier is
not allowed. Use the CONVERT function to run this query.
Description: An unhandled exception
occurred during the execution of the current web request. Please review the
stack trace for more information about the error and where it originated in the
code.
Exception Details: System.Data.SqlClient.SqlException: Implicit
conversion from data type sql_variant to uniqueidentifier is not allowed. Use
the CONVERT function to run this query.
I can’t quite see what I should do so I would be
grateful for any help.
View 6 Replies
ADVERTISEMENT
Nov 15, 2012
I have 3 tables. They are inner joined. When I choose to select from all three tables I get a cartesian product.I've used distinct and I've tried cross apply with top 1. Top 1 brings back the right amount of records but it repeats the fields used in that select top N.
Basic question. Can you select from 3 different tables and avoid a cartesian result? I can have all three tables joined and with distinct I can get records from two of the tables without a cartesian. It is when I choose to select from a third is where the cartesian appears.If this is possible, what other tsql commands/constructs should I be experimenting with? URL....
View 9 Replies
View Related
Nov 3, 2000
We find that a delete command on a table where the rows to be deleted involve an inner join between the table and a view formed with an outer join sometimes works, sometimes gives error 625.
If the delete is recoded to use the join key word instead of the = sign
then it alway gives error 4425.
625 21 0 Could not retrieve row from logical page %S_PGID by RID because the entry in the offset table (%d) for that RID (%d) is less than or equal to 0. 1033
4425 16 0 Cannot specify outer join operators in a query containing joined tables. View '%.*ls' contains outer join operators.
The delete with a correleted sub query instead of a join works.
Error 4425 text would imply that joins with view formed by outer joins should be avoided.
Any ideas on the principles involved here.
View 1 Replies
View Related
Aug 11, 2005
SQL Server 2000Howdy All.Is it going to be faster to join several tables together and thenselect what I need from the set or is it more efficient to select onlythose columns I need in each of the tables and then join them together?The joins are all Integer primary keys and the tables are all about thesame.I need the fastest most efficient method to extract the data as thisquery is one of the most used in the system.Thanks,Craig
View 3 Replies
View Related
Oct 12, 1999
Hi,
Why is it that SQL joins (*=) run a little faster as opposed to ANSI joins(LEFT JOIN...)? Aren't they supposed to be almost identical?
The issue is this: we are promoting using ANSI syntax for the obvious reason (future versions of SQL Server may not support SQL Server syntax; portability, etc.)
However, the problem is the speed. What have others done about this? Do you use ANSI syntax or SQL syntax? HOw true is it that future SQL Server versions may discontinue support for the '*=" and "=*' join operators.
Angel
View 1 Replies
View Related
Feb 29, 2008
I have four tables which I want to return results for an advanced search function, the tables contain different data, but can be quite easily joined,
Table A Contains a Main Image, this image is displayed in the results
Table B Contains an Icon, this image is displayed in the results
Table C doesn't have an image in it but has a child table with a number of images associated to the table, in the UNION ALL statement I would Like to do a Join to get say the top Image from this child and print it for the row associated with table C.
Select title, description, image from tableA
UNION ALL
Select title, description, icon as image from tableB
UNION ALL
title, description, ( inner Join SELECT top(1)
from imageTableC where imagetableC.FK = tableC.PK)
as image from tableC
Could someone show me the syntax to do this, I have all the information printing to the screen, bar this table C image.
View 14 Replies
View Related
Sep 1, 2005
Hi All,
Im having a problem with a statement i cannot seem to get 2 left joins working at the same time 1 works fine but when i try the second join i get this error:-
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'children_tutorial.school_id=schools.idx LEFT JOIN regions ON children_tutorial.region_id=region.idx'.
My SQL statment is as follows :-
SELECT children_tutorial.*,schools.schoolname,regions.rname FROM children_tutorial LEFT JOIN schools ON children_tutorial.school_id=schools.idx LEFT JOIN regions ON children_tutorial.region_id=region.idx
I am using an Access database i have tried all sorts to get it working and its driving me mad!! any help would be really appreciated.
View 2 Replies
View Related
Dec 13, 2007
Hello:
I am running into an issue with RS2k PDF export.
Case: Exporting Report to PDF/Printing/TIFF
Report: Contains 1 table with 19 Columns. 1 column is static, the other 18 are visible at the users descretion. Report when printed/exported to pdf spans 2 pages naturally, 16 on the first page, 3 on the second, and the column widths have been adjusted to provide a perfect page span .
User A elects to hide two of the columns, and show the rest. The report complies and the viewable version is perfect, the excel export is perfect.. the PDF export on the first page causes every fith column, starting with the last column that was hidden to be expanded to take up additional width. On the spanned page, it renders the first column on that page correctly, then there is a white space gap equal to the width of the hidden columns and then the rest of the cells show with the last column expanded to take up the same width that the original 2 columns were going to take up, plus its width.
We have tried several different settings to see if it helps this issue or makes it worse. So far cangrow/canshrink/keep together have made no impact. It is not possible to increase the page size due to limited page size selection availablility for the client. There are far too many combinations of what the user can elect to show or hide to put together different tables to show and hide on the same report to remove this effect.
Any help or suggestion on this issue would be appreciated
View 1 Replies
View Related
Apr 10, 2006
I am really struggling. I am trying to query a sql database table using a uniqueidentifier.
Public Class SalesDataClass
Public Function getAccountNumber(ByVal ID As String) As String
Dim accountnumber As String = "0"
'Try
Using connection As New SqlConnection(ConfigurationManager.ConnectionStrings("InterhealthCRM_MSCRMConnectionString").ConnectionString)
Using command As New SqlCommand("getAccountNumber", connection)
command.CommandType = CommandType.StoredProcedure
Dim parameterdat1 As New SqlParameter("@accountid", SqlDbType.UniqueIdentifier)
parameterdat1.Value = ID
command.Parameters.Add(parameterdat1)
Dim parameterdat2 As New SqlParameter("@accountnum", SqlDbType.NVarChar, 20, ParameterDirection.Output)
command.Parameters.Add(parameterdat2)
connection.Open()
command.ExecuteNonQuery()
accountnumber = parameterdat2.Value
Return accountnumber
End Using
End Using
'Catch ex As SqlException
' Catch ex As InvalidOperationException
' Catch ex As Exception
' You might want to pass these errors
' back out to the caller.
' End Try
End Function
End Class
Can someone help me correct my code.
Sproc:
ALTER PROCEDURE [dbo].[getAccountNumber]
-- Add the parameters for the stored procedure here
@accountId uniqueidentifier,
@accountnum nvarchar(20) output
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
SELECT accountNumber from accountbase where accountid = @accountid
return @accountnum
END
View 2 Replies
View Related
Jul 17, 2003
Hi,
I am using UNIQUEIDENTIFIER column for my table. I do not insert data for it. I left it on database by setting to default NEWID(). Now in my application I need the value of UNIQUEIDENTIFIER column I just inserted. Is there any function or query to get this value like in case of IDENTITY column we can get the latest inserted value from select @@IDENTITY.
Thanks and regards,
Uday
View 3 Replies
View Related
Jan 28, 2006
Hey I was curious about the Uniqueidentifier is that better then using the @IDENTITY, apparently the Unique uses your computers mac address as a base???
View 4 Replies
View Related
Dec 5, 2006
as above, how can i use this datatype to generate a running number for my userID ? i tried with newid() but it returns a unique 32bit.
View 10 Replies
View Related
Apr 4, 2008
does SQLCE supports the use of uniqueidentifier datatype.and how can i use it?
i have heard that SQLCE supports only integer type as identity column.
so what datatype i should use for identification(primary key).
View 4 Replies
View Related
Nov 5, 2007
I have a table with id(uniqueidentifier) as the primary key, and another table with id(int) as the foreign key.
When I try to INNER JOIN them on id=id in a view, I get an error that uniqueidentifier and int are incompatible.
I'm new to SQL SERVER and I consider uniqueidentifier as equal to AutoNumber in MSAccess. Isn't it so? If not, how do I make this JOIN work?
View 3 Replies
View Related
Nov 26, 2007
Hello all,
I would like to put another line into my combo box using this SQL statement but this part "(select newid() as QuestionID, 'Select a Question' as QuestionText)" is not working. (select newid() as QuestionID, 'Select a Question as QuestionText) union all (SELECT * FROM (SELECT TOP 100 * FROM [dbo.aspnet_Questions]) as tbl)
RETURN
It gives me an error: Invalid object name 'dbo.aspnet_Questions'. Can anybody please help me with this error?
Thank you, Vic.
View 5 Replies
View Related
Jan 26, 2008
I just want to ask if there is a passible explaination for why this code thosen't generate the proper RETURN VALUE, My coal is when a user uses the asp:CreateUserWizard i retrive GUID from the new account.With this I will check if the relation tabel has that value, so I would like to run this.
Stored Proc.
CREATE PROCEDURE proc_CustomerCheckExist@UserId uniqueidentifierASIF EXISTS (SELECT COUNT(*) FROM dbo.aspnet_LD_Customers WHERE UserId = @UserId) Return 1ELSE Return 0GO
Problem is if I take 2 different GUID, I still get the same result "Return 1" as true even if I dont have the GUID in my tabel row
Thanks!
View 3 Replies
View Related
Apr 18, 2004
Hello there!
it was a while since i studied SQL and that brings us to my problem...
I'm creating a Stored Procedure wich first insert information in a table. That table has a uniqueidentifier fild that is default-set to newid().
later in the SP i need that uniqueidentifier value? how do I get it?
I tried this:
CREATE PROCEDURE spInsertNews
@uidArticleId uniqueidentifier = newid,
@strHeader nvarchar(300),
@strAbstract nvarchar(600),
@strText nvarchar(4000),
@dtDate datetime,
@dtDateStart datetime,
@dtDateStop datetime,
@strAuthor nvarchar(200),
@strAuthorEmail nvarchar(200),
@strKeywords nvarchar(400),
@strCategoryName nvarchar(200) = 'nyhet'
AS
INSERT INTO tblArticles
VALUES( @uidArticleId,@strHeader,@strAbstract,@strText,@dt
Date,@dtDateStart,@dtDateStop,@strAuthor,@strAutho
rEmail,@strKeywords)
declare @uidCategoryId uniqueidentifier
EXEC spGetCategoryId @strCategoryName, @uidCategoryId OUTPUT
INSERT INTO tblArticleCategory(uidArticleId, uidCategoryId)
VALUES(@uidArticleId, @uidCategoryId)
But i get an error when I EXEC the SP like this:
EXEC spInsertNews
@strHeader = 'Detta är den andra nyheten',
@strAbstract = 'dn första insatt med sp:n',
@strText = 'här kommer hela nyhetstexten att stå. Här får det plats 2000 tecken, dvs fler än vad jag orkar skriva nu...',
@dtDate = '2003-01-01',
@dtDateStart = '2003-01-01',
@dtDateStop = '2004-01-01',
@strAuthor = 'David N',
@strAuthorEmail = 'david@davi.com',
@strKeywords = 'nyhet, blajblaj, blaj'
the errormessage is: Syntax error converting from a character string to uniqueidentifier.
does anyone have a sulution to this problem?
Can I use something similar to the @@IDENTITY?
I will be greatful for any ideas...
thanks
/David, Sweden
View 8 Replies
View Related
Jul 8, 2004
I want to use a NEWID() to generate order numbers, but i dont want to give customers the long uniqueID. so im wondering if i concatinate it to 8 characters, if that would be safe or not...
thx in adv
View 6 Replies
View Related
Feb 9, 2005
Hi,
I am writing a C# application that uses a SQL server database to hold its data. I need to create a stored procedure that returns a particular row's primary key value. This is no problem if the primary key is an INT. But my primary key is a unique identifier, and the stored procedure doesn't want to let me return any values that aren't INTs. Can someone please tell me how to get around this?
Thanks in advance.
Scott
View 3 Replies
View Related
Nov 28, 2005
I am trying to use a stored procedure and it seems to be giving me a error - I think it doesn't like the uniqueidentifier. I have included the error, stored procedure, and code behind that calls the stored procedure.Thanks for any help on this! This is the error I get:System.ArgumentException: No mapping exists from object type System.Web.UI.WebControls.TextBox to a known managed provider native type. at System.Data.SqlClient.MetaType.GetMetaTypeFromValue(Type dataType, Object value, Boolean inferLen) at System.Data.SqlClient.SqlParameter.GetMetaTypeOnly() at System.Data.SqlClient.SqlParameter.Validate(Int32 index) at System.Data.SqlClient.SqlCommand.BuildParamList(TdsParser parser, SqlParameterCollection parameters) at System.Data.SqlClient.SqlCommand.BuildExecuteSql(CommandBehavior behavior, String commandText, SqlParameterCollection parameters, _SqlRPC& rpc) at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at view_WardSec_PatientLogDetail2.UpdateRecord_buttonClick(Object sender, EventArgs e) in C:Documents and SettingsKBuchanan.LMHDesktopWebSitesNewest_ERViewsview_WardSec_PatientLogDetail.aspx.vb:line 358 Here is the stored procedure:set ANSI_NULLS ONset QUOTED_IDENTIFIER ONgo
ALTER PROCEDURE [dbo].[UpdateTblVisit_WardSecPatientLog] ( @VID decimal, @lbl_ChiefComplaint nvarchar(50), @TriageDtTmTextBox datetime, @PtInRmDtTmTextBox datetime, @RnInRmDtTmTextBox datetime, @PhyInRmDtTmTextBox datetime, @EDHoldDisposDtTmTextBox datetime, @DispDschDtTmTextBox datetime, @ddlTriageNurse uniqueidentifier, @ddlPriNurse uniqueidentifier, @ddlEDPhy uniqueidentifier, @ddlPriRefPhy decimal, @ddlSecRefPhy decimal, @ddlDschRN uniqueidentifier, @ddlDschPhy uniqueidentifier, @ddl_MnsArriv decimal, @lblDschDiag nvarchar(50), @chkbox_LogComplete bit )AS
SET NOCOUNT ON
Update tblVisit SET vChiefComplaint = @lbl_ChiefComplaint, vTriageDtTm = @TriageDtTmTextBox, vPtInRmDtTm = @PtInRmDtTmTextBox, vRnInRmDtTm = @RnInRmDtTmTextBox, vPhyInRmDtTm = @PhyInRmDtTmTextBox, vEDHoldDisposDtTm = @EDHoldDisposDtTmTextBox, vDispDschDtTm = @DispDschDtTmTextBox, vTriageRnID = @ddlTriageNurse, vRnID = @ddlPriNurse, vEdPhyProvID = @ddlEDPhy, vPriRefPhyProvID = @ddlPriRefPhy, vSecRefPhyProvID = @ddlSecRefPhy, vDschRnID = @ddlDschRN, vDschPhyID = @ddlDschPhy, vMnsArrvID = @ddl_MnsArriv, vDschDiag = @lblDschDiag, vLogCompletedInd = @chkbox_LogComplete, vLogLastEdit = getDate() WHERE VID = @VID SET NOCOUNT OFF RETURN
-----------------------------------------------------------------------------Following is the codebehind for a button oncommand event. This codeshould execute the stored procedure.-----------------------------------------------------------------------------
Public Sub UpdateRecord_buttonClick(ByVal sender As Object, ByVal e As System.EventArgs) 'Use this to update the CareGiverID into the tbl_Visit table. Dim sbSql As New System.Text.StringBuilder sbSql.Append("EXEC UpdateTblVisit_WardSecPatientLog ") sbSql.Append("@VID, ") sbSql.Append("@lbl_ChiefComplaint, ") sbSql.Append("@TriageDtTmTextBox, ") sbSql.Append("@PtInRmDtTmTextBox, ") sbSql.Append("@RnInRmDtTmTextBox, ") sbSql.Append("@PhyInRmDtTmTextBox, ") sbSql.Append("@EDHoldDisposDtTmTextBox, ") sbSql.Append("@DispDschDtTmTextBox, ") sbSql.Append("@ddlTriageNurse, ") sbSql.Append("@ddlPriNurse, ") sbSql.Append("@ddlEDPhy, ") sbSql.Append("@ddlPriRefPhy, ") sbSql.Append("@ddlSecRefPhy, ") sbSql.Append("@ddlDschRN, ") sbSql.Append("@ddlDschPhy, ") sbSql.Append("@ddl_MnsArriv, ") sbSql.Append("@lblDschDiag, ") sbSql.Append("@chkbox_LogComplete, ") sbSql.Append("@UserID ")
'Response.Write(sbSql.ToString) 'Response.End()
'Create variables for each of the edited values Dim con As New SqlConnection(ConfigurationManager.ConnectionStrings("ERTrekker_ProdConnectionString1").ConnectionString) Dim cmd As New SqlCommand(sbSql.ToString(), con)
FindControls(DetailsView, "lbl_ChiefComplaint") Dim ilbl_ChiefComplaint As TextBox = CType(MyControl, TextBox) FindControls(DetailsView, "TriageDtTmTextBox") Dim iTriageDtTmTextBox As TextBox = CType(MyControl, TextBox) FindControls(DetailsView, "PtInRmDtTmTextBox") Dim iPtInRmDtTmTextBox As TextBox = CType(MyControl, TextBox) FindControls(DetailsView, "RnInRmDtTmTextBox") Dim iRnInRmDtTmTextBox As TextBox = CType(MyControl, TextBox) FindControls(DetailsView, "PhyInRmDtTmTextBox") Dim iPhyInRmDtTmTextBox As TextBox = CType(MyControl, TextBox) FindControls(DetailsView, "EDHoldDisposDtTmTextBox") Dim iEDHoldDisposDtTmTextBox As TextBox = CType(MyControl, TextBox) FindControls(DetailsView, "DispDschDtTmTextBox") Dim iDispDschDtTmTextBox As TextBox = CType(MyControl, TextBox) FindControls(DetailsView, "ddlTriageNurse") Dim iddlTriageNurse As DropDownList = CType(MyControl, DropDownList) FindControls(DetailsView, "ddlPriNurse") Dim iddlPriNurse As DropDownList = CType(MyControl, DropDownList) FindControls(DetailsView, "ddlEDPhy") Dim iddlEDPhy As DropDownList = CType(MyControl, DropDownList) FindControls(DetailsView, "ddlPriRefPhy") Dim iddlPriRefPhy As DropDownList = CType(MyControl, DropDownList) FindControls(DetailsView, "ddlDschRN") Dim iddlDschRN As DropDownList = CType(MyControl, DropDownList) FindControls(DetailsView, "ddlDschPhy") Dim iddlDschPhy As DropDownList = CType(MyControl, DropDownList) FindControls(DetailsView, "ddl_MnsArriv") Dim iddl_MnsArriv As DropDownList = CType(MyControl, DropDownList) FindControls(DetailsView, "lblDschDiag") Dim ilblDschDiag As TextBox = CType(MyControl, TextBox) FindControls(DetailsView, "chkbox_LogComplete") Dim ichkbox_LogComplete As CheckBox = CType(MyControl, CheckBox)
'Add all of the parameters to the command With cmd.Parameters .AddWithValue("@VID", Request("vID")) .AddWithValue("@lbl_ChiefComplaint", ilbl_ChiefComplaint.Text.ToString) .AddWithValue("@TriageDtTmTextBox", iTriageDtTmTextBox.Text.ToString) .AddWithValue("@PtInRmDtTmTextBox", iPtInRmDtTmTextBox) .AddWithValue("@RnInRmDtTmTextBox", iRnInRmDtTmTextBox.Text.ToString) .AddWithValue("@PhyInRmDtTmTextBox", iPhyInRmDtTmTextBox.Text.ToString) .AddWithValue("@EDHoldDisposDtTmTextBox", iEDHoldDisposDtTmTextBox.Text.ToString) .AddWithValue("@DispDschDtTmTextBox", iDispDschDtTmTextBox.Text.ToString) .AddWithValue("@ddlTriageNurse", iddlTriageNurse.SelectedValue.ToString) .AddWithValue("@ddlPriNurse", iddlPriNurse.SelectedValue.ToString) .AddWithValue("@ddlEDPhy", iddlEDPhy.SelectedValue.ToString) .AddWithValue("@ddlPriRefPhy", iddlPriRefPhy.SelectedValue.ToString) .AddWithValue("@ddlDschRN", iddlDschRN.SelectedValue.ToString) .AddWithValue("@ddlDschPhy", iddlDschPhy.SelectedValue.ToString) .AddWithValue("@ddl_MnsArriv", iddl_MnsArriv.SelectedValue.ToString) .AddWithValue("@lblDschDiag", ilblDschDiag.Text.ToString) .AddWithValue("@chkbox_LogComplete", ichkbox_LogComplete.Checked.ToString) .AddWithValue("@UserID", System.Web.HttpContext.Current.Session("UserID"))
End With
' Open the connection and execute the command Try con.Open() If cmd.ExecuteNonQuery() < 1 Then Throw New System.Exception("The record was not updated") End If Catch ex As Exception System.Web.HttpContext.Current.Response.Write(ex.ToString()) Finally If Not con Is Nothing AndAlso con.State = System.Data.ConnectionState.Open Then con.Close() End If End Try End Sub
View 1 Replies
View Related
Nov 10, 2005
Hello everyone.
I have 2 tables in MSSQL Server 2000, Products(idProduct, idProductType, name, quatity) and ProductsType(idProductType, name).
idXXXX are the primery keys and the data type is uniqueidentifier.
In table Products, the collum idProductType is a foreign key refering table ProductsType.
I can insert as many product types as i want without any problems.
Insert INTO ProductsType(name) VALUES('milk')
When inserting products i use the idProductType that was automatacly generated in last insert.
INSERT INTO Products (uuidProductType,name,quantity,)
VALUES ('AD9388A3-CA86-482D-B57F-6FA068E7D405','President Milk 50cl',500)
but i got the following error in SQL Query Analyzer:
Server: Msg 8169, Level 16, State 2, Line 1
Syntax error converting from a character string to uniqueidentifier.
I have searched the forum and i cant find any solution. i need to use uniqueidentifer data types because replication with PDA devices.
Any tips?
Thank you in advance.
Helder
View 5 Replies
View Related
Feb 18, 2006
Hey can you use the Uniqueidentifier as a primary key or no??
View 4 Replies
View Related
Jul 12, 2006
Hi,
I use this procedure to add a record to the db (SQL 2005)
i constantly get this error:
Conversion failed when converting from a character string to uniqueidentifier.
This is the sp:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER PROC [dbo].[AddBootloader]
@BootName nvarchar(50),
@Version nvarchar(50),
@CSD nvarchar(50),
@CreatorID uniqueidentifier,
@FilePath nvarchar(150),
@FileSize nvarchar(150)
AS
INSERT INTO dbo.EB_Bootloaders
([Bootname]
,[Version]
,[CSD]
,[FilePath]
,[FileSize]
,[CreatorID])
VALUES
(
@BootName,
@Version,
@CSD,
@CreatorID,
@FilePath,
@FileSize)
And this is the table:
USE [Ebdata]
GO
/****** Object: Table [dbo].[EB_Bootloaders] Script Date: 07/12/2006 10:06:42 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[EB_Bootloaders](
[ID] [bigint] IDENTITY(1,3) NOT NULL,
[BootName] [nvarchar](50) COLLATE Latin1_General_CI_AS NULL,
[Version] [nvarchar](50) COLLATE Latin1_General_CI_AS NULL,
[CSD] [nvarchar](50) COLLATE Latin1_General_CI_AS NULL,
[FilePath] [nvarchar](150) COLLATE Latin1_General_CI_AS NULL,
[FileSize] [nvarchar](50) COLLATE Latin1_General_CI_AS NULL,
[CreateDate] [datetime] NULL CONSTRAINT [DF_EB_Bootloaders_CreateDate] DEFAULT (getdate()),
[CreatorID] [uniqueidentifier] NOT NULL,
[UpdateDate] [datetime] NULL,
[UpdateUser] [uniqueidentifier] NULL,
CONSTRAINT [PK_EB_Bootloaders_1] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
USE [Ebdata]
GO
ALTER TABLE [dbo].[EB_Bootloaders] WITH NOCHECK ADD CONSTRAINT [FK_EB_Bootloaders_aspnet_Users] FOREIGN KEY([CreatorID])
REFERENCES [dbo].[aspnet_Users] ([UserId])
NOT FOR REPLICATION
GO
ALTER TABLE [dbo].[EB_Bootloaders] WITH NOCHECK ADD CONSTRAINT [FK_EB_Bootloaders_aspnet_Users1] FOREIGN KEY([UpdateUser])
REFERENCES [dbo].[aspnet_Users] ([UserId])
NOT FOR REPLICATION
The funny thing is that i copied the sp code from another which runs perfect,
I insert a Guid from an asp.net page.
Hope someone can help me here because im am stucked!
Cheers Wimmo
View 3 Replies
View Related
Apr 18, 2004
Hello there!
it was a while since i studied SQL and that brings us to my problem...
I'm creating a Stored Procedure wich first insert information in a table. That table has a uniqueidentifier fild that is default-set to newid().
later in the SP i need that uniqueidentifier value? how do I get it?
I tried this:
CREATE PROCEDURE spInsertNews
@uidArticleId uniqueidentifier = newid,
@strHeader nvarchar(300),
@strAbstract nvarchar(600),
@strText nvarchar(4000),
@dtDate datetime,
@dtDateStart datetime,
@dtDateStop datetime,
@strAuthor nvarchar(200),
@strAuthorEmail nvarchar(200),
@strKeywords nvarchar(400),
@strCategoryName nvarchar(200) = 'nyhet'
AS
INSERT INTO tblArticles
VALUES( @uidArticleId,@strHeader,@strAbstract,@strText,@dt Date,@dtDateStart,@dtDateStop,@strAuthor,@strAutho rEmail,@strKeywords)
declare @uidCategoryId uniqueidentifier
EXEC spGetCategoryId @strCategoryName, @uidCategoryId OUTPUT
INSERT INTO tblArticleCategory(uidArticleId, uidCategoryId)
VALUES(@uidArticleId, @uidCategoryId)
But i get an error when I EXEC the SP like this:
EXEC spInsertNews
@strHeader = 'Detta är den andra nyheten',
@strAbstract = 'dn första insatt med sp:n',
@strText = 'här kommer hela nyhetstexten att stå. Här får det plats 2000 tecken, dvs fler än vad jag orkar skriva nu...',
@dtDate = '2003-01-01',
@dtDateStart = '2003-01-01',
@dtDateStop = '2004-01-01',
@strAuthor = 'David N',
@strAuthorEmail = 'david@davi.com',
@strKeywords = 'nyhet, blajblaj, blaj'
the errormessage is: Syntax error converting from a character string to uniqueidentifier.
does anyone have a sulution to this problem?
Can I use something similar to the @@IDENTITY?
I will be greatful for any ideas...
thanks
/David, Sweden
View 1 Replies
View Related
Jan 25, 2006
Hi:
I am using the built in securty database from vs2005
I am trying to write an insert trigger that will add a role each time a user is added but I seem to be having difficulty I believe it's with the uniqueidentifier datatype. when I run this trigger via an insert statement I get the following error.
Can anyone set me straight?
========error==============
Cannot insert the value NULL into column 'RoleId', table 'R:AAAPROJECTSASPVS2005MERCERBUCKSAPP_DATAASPNETDB.MDF.dbo.aspnet_UsersInRoles'; column does not allow nulls. INSERT fails.
==================insert statement==========
Declare @NewUserID as uniqueIdentifier
set @NewUserID=newID()
print Cast(@NewUserID as varchar(50))
insert into dbo.aspnet_Users (ApplicationID,UserID,UserName,LoweredUserName,LastActivityDate)
Values('f23f01f0-7ad7-463b-87e2-f3e9141e6426',@NewUserID,'lrchase','lrchase','7/20/2005')
======trigger============================
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER TRIGGER [InsertRole]
ON [dbo].[aspnet_Users]
AFTER INSERT
AS
DECLARE @RoleID uniqueidentifier
DECLARE @UserID uniqueidentifier
Select @UserID=Userid from inserted
Print @UserID
SELECT @RoleID = RoleID
FROM dbo.aspnet_Roles where dbo.aspnet_Roles.LoweredRoleName='user'
Print @RoleID
SET NOCOUNT ON;
Insert Into dbo.aspnet_UsersInRoles
Values(@UserID,@RoleID)
Thanks Len
View 2 Replies
View Related
Jun 7, 2007
hi. im new in using rowguid, i want to know how long can this datatype can hold. and is there a chance that value can be duplicate or the sql is checking it already before it create a new one.
and what will happen if i select yes in isrowguid.
thnx
View 2 Replies
View Related
Aug 22, 2005
Hi all,I'm trying to run a select where auniqueidentifier/GUID equals a hex, but I don't seem to be gettingmatches.For example, this query returns the expected record:select * from items where itemGUID ='{11111111-2222-3333-4444-555555555555}'But this one does not:select * from items where itemGUID = 0x11111111222233334444555555555555Any tips?thanks, -Scott
View 5 Replies
View Related
Jul 26, 2007
So, what's the common preference out there for primary and/or surrogate keys? Uniqueidentifier or identity?
(No replication is involved.)
View 7 Replies
View Related
Jan 17, 2008
SQL2K SP4
Greetings. I just inherited doscovered a 3gb DB that is chewing up lots of CPU time on a pretty beefy server. This DB uses 4 main tables. It has many more, but most of the Inserts/ Updates/ Deletes/ and Joins are done mainly on 4 tables. Anyways, I figured out which sprocs use the most CPU between the hours of 7 and 7 every day, off to a good start. The first one is hardly every run. While it is a pig in terms of CPU usage, the amount of times it's run is somewhat minimal compared to others. So the next one is is a sproc that does auto refreshes, and is run every minute by thousands. I start to analyze it, particularly for missing indexes, but all is well. So I'm beating my head up against the wall and I realize, THE CLUSTERED PRIMARY KEY (PK) FOR THESE TABLES USE A GUID DATA TYPE....
So I have some questions about this data type, and also inserting into a clustered PK in general.
Are joins on this data type as bad as joining on varchar columns in terms of speed?
I don't see that any of my insert sprocs are taking a long time. So if an insert occurs, and a page split needs to happen (which is quite potential with this data type as a clustered PK), does it -- A) Begin the insert, complete the insert, then do a page split? Or does it -- B) Begin the insert, do the page split, then complete the insert?
If A, it would make sense that I would see no lag for my insert sprocs, but also see a high CPU usage (provided I have a high number of page splits, which is yet to be determined. If B, I would expect to see a lot of long running insert sprocs, which I don't.
View 10 Replies
View Related
Sep 13, 2006
convert(uniqueidentifier, 00000000-0000-0000-0000-000000000000)
not working.
View 3 Replies
View Related
Sep 26, 2007
Hai,
Because uniqueidetifier is not an auto generated field, How can be it used with a primary key column ?
Thanks
Maju
View 5 Replies
View Related
Apr 26, 2006
Hi all
In the database there is a table for customers and a table for the saleman,
the relationship between the 2 table is a uniqueidentifer field
customer table
name salesmanager
company 1 12545-854
salesmanager table
id salesmanager
12545-854 bob smith
I need to update the customer salesmanger field when someone leaves problem is that that field
is a uniqueidentifer and it will not allow me to update
Thanks in advance
rich
View 2 Replies
View Related
Feb 21, 2008
I have a table that contains a uniqueidentifier column and then another table that contains a foreign-key column, but is set up as varchar. I am building a stored procedure, however I get the following error: "Syntax error converting from a character string to uniqueidentifier"
I tried casting the UID column to a varchar, but this does not work either.
This is a simple select where the column in the foreign table is equal to the ID column of the main table.
Is there a way to solve this without having to make any table changes?
Thanks for the help.
View 5 Replies
View Related