Skip to main content

Posts

Showing posts from July, 2015

Using GUID or UniqueIdentifiers in SQL Server

In order to differentiate between two rows, we normally use primary keys or identity values which may be same across two tables. In order to overcome this problem we can use a special type named "GUID" . Its a hexadecimal number (Base 16) and the advantage is  that they are unique across all databases and tables.  In SQL Server the same concept is implemented through UNIQUEIDENTIFIER  data type. In order to generate a new value, we use the NEWID() function. For e.g.  a. Creating a table that uses the UNIQUEIDENTIFIER datatype Create table Test ( Empno uniqueidentifier, Ename varchar(20) ) b. Inserting rows in the tables with the use of NEWID() function insert into Test values (newId(),'ABC') insert into Test values (newid(),'XYZ') insert into test values (newid(),'MNO') c. Selecting the rows from the table. Select * from test  Empno                                                                     Ename 6B2CF0E5-DC2E-4E

How to use Common Table Expression in PL/SQL Block

SQL Server provides the option to use Common Table Expressions not only in SQL Queries rather we can use them in a PL/SQL Block. The only thing that we have to take care of is that the immediate line preceding the Common Table Expression must be ended with a semi colon. For e.g. begin declare @vTempVariable varchar(20) Select @vTempVariable=dname from table ; With MyCte(ColumnA, ColumnB) as (      Select ColumnA, ColumB from table1 ) Select *, ColumnA, ColumnB from TableX, Mycte end In the above code, we can see that we have used a semi colon in the SQL Statement that is preceding immediately the Common Table Expression. If we don't use semi colon, it will throw an error.