ASP.NET: String VS string builder in ASP.NET (c#)

ASP.NET: String VS string builder in ASP.NET (c#)

Here I will explain the difference between string and stringbuilder in c#.

Description:


String

String is immutable object  (i.e.  once created cannot be changed ) and It always create new object of string type in memory.  If we want to append or replace something in string then it will discard the old value and will create new instance in memory to hold the new value. String belongs to “System” namespace.

 Example


string str = "Hello Visitor";
        // create a new string instance instead of changing the old one
        str += "How Are";
        str += "You ??";








  Stringbuilder

 StringBuilder is mutable, means if create string builder object then you can make modification in the data i.e. you can append and replace the string  without creating new instance for every time.it will update string at one place in memory doesn’t create new space in memory. Stringbuilder belongs to “System.Text”  namespace.

Example

StringBuilder strbuilder = new StringBuilder("");
        strbuilder.Append("Hello");
        strbuilder.Append("Visitor ");
        string str = sb.ToString();


Please mention in the comments in case you have any doubts related to the post:
Difference between string and stringbuilder. 
SQL: Explain CTE (Common Table expression) in sql databse?

SQL: Explain CTE (Common Table expression) in sql databse?

Common Table expression:

CTE stands for Common Table expressions. It was introduced with SQL Server 2005. It is a temporary result set which can be referenced in the same query just as a view. Unlike temporary table its life is limited to the current query. It is defined by using WITH statement. CTE improves readability and ease in maintenance of complex queries and sub-queries.

Description:


Syntax:

; WITH CTEName (Column aliases)
AS (Subquery)
SELECT statement
FROM CTEName;  


Example:

Complex query Using sub-query:

SELECT * FROM (
SELECT Dept.Department, Emp.Name, Emp.Age From Department Dept
Inner join Employee Emp on Emp.EID = Dept.EID) Temp
WHERE Temp.Age > 40
ORDER BY Temp.NAME


By Using CTE:

;With CTE1(Department, Name, Age)--Column names
AS
(
SELECT Dept.Department, Emp.Name, Emp.Age from Department Dept
INNER JOIN EMP Emp ON Emp.EID = Dept.EID
)
SELECT * FROM CTE1 --Using CTE
WHERE CTE1.Age > 40
ORDER BY CTE1.NAME


When to Use CTE

1.       This is a substitute of complex sub query.
2.       Substitute for a view when the general use of a view is not required.
3.       This is also used to create a recursive query or non-recursive query.

4.       We can also update data using CTE (Common table expression). 


What are the Magic tables or Logical Tables in SQL server and how to access Magic Tables?

Magic tables in SQL:

Magic tables are the logical tables in SQL server. There are two types of logical tables in SQL server:
  • Inserted
  • Deleted
 Magic tables or Logical tables are automatically created and managed by SQL Server internally. These tables hold the recently inserted, deleted and updated values during Insert, Update and Delete operations on a table. These tables are not visible and accessible directly. There are two methods to access these tables
  •  Using Triggers operation either After Trigger or Instead of trigger.
  • Without Triggers Using “OUTPUT” Clause 
Using Triggers:

Inserted Logical Table:

Inserted logical table holds the latest inserted value or updated value in the table.
Whenever we do insertion or updating the record in table in database, a table gets created automatically by the SQL server, named as INSERTED.


CREATE TABLE [dbo].[emp_details](
            [empid] [numeric](18, 0) NOT NULL,
            [empname] [varchar](100) NULL,
            [salary] [numeric](18, 0) NULL,)


Now Create a trigger


CREATE TRIGGER emp _Insertion
ON emp_details
FOR INSERT
AS
begin
SELECT * FROM INSERTED
SELECT * FROM DELETED
End


 Now Inert data in above table:


INSERT INTO  emp_details (empid, empname, salary) VALUES (201, XYZ ,1000)


 

Deleted Logical Table:

When we update the record in table then  two tables are created, one is INSERTED and another is called DELETED. Deleted table will hold the previous record after the updations and  Inserted table consists of the updated record.

CREATE TRIGGER emp_update ON emp_details
FOR update
AS
begin
SELECT * FROM INSERTED
SELECT * FROM DELETED
End


Update Record


update emp_details set empname='ABC' where empid=201




 Without Triggers Using Output Clause:

Output Clause  with Insert Command:


INSERT into emp_details  (  [EmpID],  EmpName, Salary  )
OUTPUT
 Inserted.[EmpID], Inserted.EmpName, Inserted.Salary
VALUES (208, 'Delton', 15000);


Result:

SQL: Introduction to SQL Server.

SQL: Introduction to SQL Server.

What is SQL?

The Structured Query Language (SQL) is the set of instructions used to interact with a relational database. SQL is used to query, insert, update and modify data. . Most relational databases support SQL. Whenever you interact with such a database, the software translates your into SQL statement that the database knows how to interpret. 

SQL History:
 SQL developed in the early 1970s at IBM by Raymond Boyce and Donald Chamberlin. In 1979, a company called Relational Software, which later became Oracle, saw the commercial potential of SQL and released its own modified version, named Oracle V2.  The current standard SQL version is monitored by the American National Standards Institute (ANSI).

Different Command Types in SQL:

DDL: Data definition Languages
DML: Data manipulation Language
DCL: Data control Language


TCL: Transaction Control Language

Kategori

Kategori