Skip to main content

SQL interview questions

 Add a column with a default value to an existing table in SQL Server

ALTER TABLE {TABLENAME} 

ADD {COLUMNNAME} {TYPE} {NULL|NOT NULL} 

CONSTRAINT {CONSTRAINT_NAME} DEFAULT {DEFAULT_VALUE}

WITH VALUES


---------------------


How to return only the Date from a SQL Server DateTime datatype

SELECT CONVERT(date, getdate())


---------------------

How to check if a column exists in a SQL Server table?

IF EXISTS(SELECT 1 FROM sys.columns 

          WHERE Name = N'columnName'

          AND Object_ID = Object_ID(N'schemaName.tableName'))

BEGIN

    -- Column Exists

END

Martin Smith's version is shorter:


IF COL_LENGTH('schemaName.tableName', 'columnName') IS NOT NULL

BEGIN

    -- Column Exists

END


---------------------

Insert results of a stored procedure into a temporary table stackoverflow

You can use OPENROWSET for this. Have a look. I've also included the sp_configure code to enable Ad Hoc Distributed Queries, in case it isn't already enabled.


CREATE PROC getBusinessLineHistory

AS

BEGIN

    SELECT * FROM sys.databases

END

GO


sp_configure 'Show Advanced Options', 1

GO

RECONFIGURE

GO

sp_configure 'Ad Hoc Distributed Queries', 1

GO

RECONFIGURE

GO


SELECT * INTO #MyTempTable FROM OPENROWSET('SQLNCLI', 'Server=(local)\SQL2008;Trusted_Connection=yes;',

     'EXEC getBusinessLineHistory')


SELECT * FROM #MyTempTable

-----------------------------


Altering a column: null to not null

UPDATE [Table] SET [Column]=0 WHERE [Column] IS NULL

Then, update the table definition to disallow "NULLs":


ALTER TABLE [Table] ALTER COLUMN [Column] INTEGER NOT NULL

---------------------


How can I get column names from a table in SQL Server?

SELECT *

FROM INFORMATION_SCHEMA.COLUMNS

WHERE TABLE_NAME = N'Customers'

"N" if for handlling unicode string like varchar in ANSI(32bit) and nvarchar in unicode(64bit) 

------------------


How do you change the datatype of a column in SQL Server?

ALTER TABLE TableName 

ALTER COLUMN ColumnName NVARCHAR(200) [NULL | NOT NULL]


Comments

Popular posts from this blog

GraphQL vs REST

  GraphQL   GraphQL is an application layer server-side technology which is developed by Facebook for executing queries with existing data. GraphQL can optimize RESTful API calls. It gives a declarative way of fetching and updating your data. GraphQL helps you to load data from server to client. It enables programmers to choose the types of requests they want to make. REST REST is a software architectural style that defines a set of constraints for creating web services. It is designed specifically for working with media components, files, or hardware device. The full form of REST is Representational State Transfer. ========================================================= Here is the important difference between GraphQL and REST. GraphQL REST GraphQL is an application layer server-side technology which is developed by Facebook for executing queries with existing data. REST is a software architectural style that defines a set of constraints for creating Web services. It follow...

DBMS ACID Properties

 1. Atomicity states that database modifications must follow an all or nothing rule 2. Consistency states that only valid data will be written to the database. If, for some reason, a transaction is executed that violates the database's consistency rules, the entire transaction will be rolled back and the database will be restored to a state consistent with those rules.  3. Isolation requires that multiple transactions occurring at the same time not impact each other's execution. For example, if Joe issues a transaction against a database at the same time that Mary issues a different transaction, both transactions should operate on the database in an isolated manner. The database should either perform Joe's entire transaction before executing Mary's or vice-versa. 4.  Durability ensures that any transaction committed to the database will not be lost. Durability is ensured through the use of database backups and transaction logs that facilitate the restoration of committe...

Git Commands

  Git commands sorted. Reference: https://git-scm.com/docs Git task Notes Git commands Tell Git who you are Configure the author name and email address to be used with your commits. Note that Git strips some characters (for example trailing periods) from user.name . git config --global user.name "Sam Smith" git config --global user.email sam@example.com Create a new local repository   git init Check out a repository Create a working copy of a local repository: git clone /path/to/repository For a remote server, use: git clone username@host:/path/to/repository Add files Add one or more files to staging (index): git add <filename> git add * Commit Commit changes to head (but not yet to the remote repository): git commit -m "Commit message" Commit any files you've added with git add , and also commit any files you've changed since then: git commit -a Push Send changes to the master branch of your remote repository: git push origin master Status List the...