I'm getting a 'column not allowed' error [duplicate] - sql

This question already has answers here:
Oracle SQL: Column not allowed
(3 answers)
Closed 4 years ago.
I fired following query (exactly same). But Oracle is responding with an error
column not allowed '
insert into student (rollno,name,address)
values (1,"kartish khanolkar" "kudal")
Table is as follows:
create table student
(
rollno number(10),
name varchar (30),
address varchar (20),
primary key (rollno)
);

There is an error in the query .
insert into student (rollno,name,address) values (1,"kartish khanolkar" "kudal")
Use single quotes for strings.
Also you are missing a comma after 'kartish khanolkar'
The actual query should be like
insert into student (rollno,name,address) values (1,'kartish khanolkar','kudal')

Related

How can I limit what data is entered in SQL Server? [duplicate]

This question already has answers here:
SQL add a new column and its values only can be in several fixed options
(2 answers)
Closed 7 months ago.
For example: I have a column named Software, where I want only 2 entries either Hotel or Restro. Besides these two;Hotel and Restro, the column should not allow other data. I am trying to implement this database in Hotel Managemnet System through ASP.NET. So, is it possible in anyway in SQL Server?
You may use a check constraint in the create table definition:
CREATE TABLE yourTable (
Id INT IDENTITY PRIMARY KEY,
some_col VARCHAR(6) NOT NULL CHECK (some_col IN ('Hotel', 'Restro'))
-- rest of definition here
);

postgresSQL: column doesn't exist, when trying to insert into table [duplicate]

This question already has answers here:
What is the difference between single quotes and double quotes in PostgreSQL?
(3 answers)
PostgreSQL - insert statement error, thinks value to insert is a column name
(1 answer)
INSERT COMMAND :: ERROR: column "value" does not exist
(2 answers)
postgres column "X" does not exist
(1 answer)
Closed 1 year ago.
when I run this in terminal:
INSERT INTO signup (username, user_password) VALUES("John", "dqw1");
It gives me: ERROR: column "John" does not exist.
What could be the problem here? this doesn't even make sense, the column name is username. "John" is just a value, it shouldn't exist before.
The issue is with the double quotes - postgres is interpreting them as "delimited identifiers" (i.e. the name of an object, such as a column in a table).
So instead of this:
INSERT INTO signup (username, user_password) VALUES("John", "dqw1");
Do this:
INSERT INTO signup (username, user_password) VALUES('John', 'dqw1');

SQL Server insert empty instance [duplicate]

This question already has answers here:
How to insert a record with only default values?
(3 answers)
Closed 5 years ago.
SQL Server 2014
Given a table 'test' with the following fields:
id: int. Primary key. Autoincrement by 1.
creation_date: datetime. GETDATE() by default value.
My intention is to insert an empty statement, just to register the event of the insertion. I thought that as the id is an autoincrement and the creation_date has a value by default, a record could be inserted without specifying any value. I know that this can be done by adding a third field and specifying the value in the insertion, but my question is:
Can something like a plain INSERT INTO test be done?
Thanks
INSERT INTO test DEFAULT VALUES

How to use more than one table with OUTPUT clause? [duplicate]

This question already has an answer here:
Insert Into... Merge... Select (SQL Server)
(1 answer)
Closed 6 years ago.
Is it possible to insert columns of different tables in the OUTPUT clause of an INSERT statement, such as:
DECLARE #insertedrecords TABLE (Id int, [Guid] uniqueidentifier);
INSERT INTO mytable
(column names here...)
OUTPUT inserted.id_no, b.[Guid] INTO #insertedrecords
SELECT
column names here...
FROM #myTVP b
Currently, using the above I get the following error:
The multi-part identifier "b.Guid" could not be bound.
Inserted special table will hold the records those are inserted into the Target table not all the data from Source table. When a column from target table is not part of Insert list then in OUTPUT clause it will be NULL
So you need two different Inserts
DECLARE #insertedrecords TABLE (Id int, [Guid] uniqueidentifier);
INSERT INTO mytable
(column names here...)
SELECT
column names here...
FROM #myTVP b
Insert into #insertedrecords(Id,Guid)
select id_no, [Guid]
From #myTVP

How to insert an empty line to SQL table? [duplicate]

This question already has answers here:
Closed 10 years ago.
Possible Duplicate:
Inserting rows into a table with one IDENTITY column only
I have a SQL table with just one column. Column is an autoincrement field like:
Id INT IDENTITY
I need to insert a rows to this table (this is a bulk/dummy table temporarily):
INSERT INTO my_table VALUES ()
But I'm got a syntax error.
How can I do this?
INSERT INTO my_table DEFAULT VALUES
Try to insert explicit null values:
INSERT INTO my_table VALUES (NULL, NULL);