我正在写一个存储过程.我知道如何从传递值select成insert.
但是,是否有可能与INSERT INTO使用values,并Select在同一时间?
Insert into table_1 (f1, f2, f3, f4, f5, f6, f7, f8, f9,
FL1, FL2, FL3)
Select :p_f1, :v_f2, :p_f3, :p_f4,
abs(:v_f5 * :p_f5),
abs(:v_f6 * :p_f6),
:v_f7, :v_f8, :v_9 from RDB$DATABASE
UNION
Select f_lookup_id from lookup_table where (f_res >= :v_res) And (f2_lookup_id = :p_id1)
UNION
Select f_lookup_id from lookup_table where (f_res >= :v_res) And (f2_lookup_id = :p_id2)
UNION
Select f_lookup_id from lookup_table where (f_res >= :v_res) And …Run Code Online (Sandbox Code Playgroud) 在一个sql表中,我有一个字段作为高度,我想插入高度为5英尺6英寸的5英尺6英寸.我怎样才能做到这一点?
使用简单的insert命令时会抛出错误.什么是解决这个问题的可行方法?
我希望有人可以帮助我,我正在学习c#到目前为止,我已经写了几个有用的程序,但现在我从一个特定的问题难题,我已经搜索了我认为我需要的查询.这是我的代码
try
{
con.Open();
cmd = new SqlCommand("SELECT * from LMNormal", con);
cmd.CommandText = ("INSERT INTO LMNormal (upc,cert_code,description,cost,normal_price,pricemethod,groupprice,quantity,special_price,specialcost,specialpricemethod,specialgroupprice,specialquantity,start_date,end_date,pack,size,unitofmeasure) SELECT (upc,cert_code,description,cost,normal_price,pricemethod,groupprice,quantity,special_price,specialcost,specialpricemethod,specialgroupprice,specialquantity,start_date,end_date,pack,size,unitofmeasure) from products where (modified >= @now) and (advertised=@false)");
cmd.Parameters.AddWithValue("@now", now);
cmd.Parameters.AddWithValue("@false", selected);
cmd.Connection = con;
cmd.ExecuteNonQuery();
timer1.Start();
con.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
Run Code Online (Sandbox Code Playgroud)
当程序执行时,它会捕获我的错误,并在''附近说错误的同义词,我很难找出这个逗号的位置.
感谢您的任何意见
我知道有几个关于为什么INSERT INTO不起作用的主题,但我没有找到任何解决方案.
所以问题是我想在我的表中插入新记录.代码是:
$query = "INSERT INTO cms_galleryrsrc(_filename) VALUES ('$filename')";
mysqli_query($db, $query);
Run Code Online (Sandbox Code Playgroud)
MySQL表看起来像:
cms_galleryrsrc[_id (int, AUTOINCREMENT); _filename (varchar(255))]
它只是没有做任何事情......
注意:例如UPDATE,SELECT * FROM工作正常.请帮我 :)
在DB2中,我可以执行一个看起来像这样的命令来从插入的行中检索信息:
SELECT *
FROM NEW TABLE (
INSERT INTO phone_book
VALUES ( 'Peter Doe','555-2323' )
) AS t
Run Code Online (Sandbox Code Playgroud)
我如何在Postgres中做到这一点?
有办法检索序列,但我需要检索任意列.
我希望将选择与插入合并是出于性能原因.这样我只需要执行一个语句来插入值并从插入中选择值.插入的值来自subselect而不是values子句.我只需要插入1行.
该示例代码取自维基百科插入文章
这是否可以在SQLite中为插入和更新操作创建一个触发器?我的意思是,像这样:
CREATE TRIGGER dbo.TR_TableName_TriggerName
ON dbo.TableName
AFTER INSERT, UPDATE, DELETE
AS
BEGIN
SET NOCOUNT ON;
IF NOT EXISTS(SELECT * FROM INSERTED)
-- DELETE
PRINT 'DELETE';
ELSE
BEGIN
IF NOT EXISTS(SELECT * FROM DELETED)
-- INSERT
PRINT 'INSERT';
ELSE
-- UPDATE
PRINT 'UPDATE';
END
END;
Run Code Online (Sandbox Code Playgroud)
这是MS SQL我认为,源:插入更新触发器如何确定是否插入或更新
编辑:是否可以为多个表创建一个触发器?
此插入语句有效.但是,我希望也许有人可以教我一种更有效的方法来进行这种查询.这就是我所拥有的......
我有一个名为Source的表,其中DealerID是一个非唯一的ID(无论如何都在这个表中).对于每个DealerID,有多个名称.例:
15 BillBoard
15 Event
15 Newspaper
16 BillBoard
16 Event
16 Newspaper
Run Code Online (Sandbox Code Playgroud)
我知道我知道.这是存储此数据的非常低效的方法.我们正在处理遗留应用程序,我现在无法彻底改变这种数据结构.所以,我需要做的是为每个DealerID添加两个新记录.一个用于"电话",一个用于"互联网".所以在插入之后,它看起来像这样:
15 BillBoard
15 Event
15 Newspaper
15 Phone
15 Internet
16 BillBoard
16 Event
16 Newspaper
16 Phone
16 Internet
Run Code Online (Sandbox Code Playgroud)
下面的sql语句有效,但我想知道是否有更好的方法...
declare @SourceTemp table (
[Id] int identity (1, 1) not null,
[DealerId] int
)
insert into @SourceTemp select distinct DealerId from Source where DealerId is not null
declare @dealerid int
declare @rowcount int = 1
declare @idcount int
select @idcount = max(Id) from @SourceTemp …Run Code Online (Sandbox Code Playgroud) 根据SQL查询,我遇到了问题。我的插入查询返回的答案是元组已成功插入,但表中实际上没有元组。因此由于某些原因,它不起作用。查询:
connection.execute(
"INSERT INTO "+table+
" VALUES "+
"(:0, :1, :2, :3, :4, :5, :6, :7, :8, :9, :10, :11)",
[objIns.attr1, objIns.attr2, objIns.attr3, objIns.attr4, objIns.attr5, objIns.attr6, objIns.attr7, objIns.attr8, objIns.attr9, objIns.attr10, objIns.attr11, objIns.attr12],
function(err, result){
if (err) {
console.error("insert2",err.message);
callback(err.message)
} else{
console.log("Rows inserted " + result.rowsAffected);
}
});
Run Code Online (Sandbox Code Playgroud)
谢谢。
** UPDATE_SOLUTION1:添加到您的服务器脚本中:oracledb.autoCommit = true; **
** UPDATE_SOLUTION2:将{autoCommit:true}添加到execute()**
我的情况:
每个工人的查询:
BEGIN;
INSERT INTO "test_tbl" ("id",...) VALUES
(...),(...),...[1000 entries]... RETURNING id;
COMMIT;
Run Code Online (Sandbox Code Playgroud)
表test_tbl仅PRIMARY KEY (id)具有索引约束CREATE UNIQUE INDEX formulas_pkey ON formulas USING btree (id)
问题
经过许多小时的分析,它接缝的是工人等另一个工人完成了插入。为什么工人不能同时将新数据插入同一张表?
我删除了所有约束和所有索引(主键,外键等),但仍然存在相同的问题。没有并行化。
补充说明:
postgresql parallel-processing multithreading bulkinsert sql-insert
我在Postgres中有一个表,该表仅具有默认列值(id,created_at)。
我可以插入此表的唯一方法是
INSERT INTO pages(id) VALUES(DEFAULT) RETURNING id;
Run Code Online (Sandbox Code Playgroud)
我为什么不能这样做:
INSERT INTO pages RETURNING id;
Run Code Online (Sandbox Code Playgroud)
只是好奇。
sql-insert ×10
sql ×6
postgresql ×3
mysql ×2
oracle ×2
sql-server ×2
bulkinsert ×1
c# ×1
database ×1
firebird ×1
node.js ×1
php ×1
sql-update ×1
sqlite ×1
triggers ×1