我有很多有很多外键的表,它们几乎都是UPDATE无动作和DELETE无动作。
是否可以动态地将所有这些外键更新为级联,而不是不执行任何操作或限制?
例如:
ALTER TABLE * ALTER FOREIGN KEY * SET ON UPDATE CASCADE ON DELETE CASCADE;
你的,迪奥戈
我必须使用动态sql编写更新,因为我只知道要更新的列的名称,以及用于在更新中连接表的列的名称。但我不知道桌子和名字的数目。以这种方式在我的过程参数中获得表的名称。
declare @Tables = N'Customer,Employee,Owner'
所以我想要这样的更新:
update t
set [Status] = 100
from
TemporaryTable t
left join Customer t1 on t1.RecordId = t.RecordId
left join Employee t2 on t2.RecordId
根据的说法,import()是一种类似函数的动态方法.然而,在我的ts项目中,我发现它并不是动态的。
假设我有一个appleShare.json:
{
price: 123
}
然后,有一个index.ts:
console.log("update the price to 456...")
// manually modify the json file content making price 456
let currentPrice = await import("./appleShare.json").then(obj=obj.price)
co
所以我有三个表:公司、地址和company_address。
出于优化的原因,我需要将city列从addresses表复制到companies表。公司和地址之间的关系是多对一(因为许多公司可以占用相同的地址)。它们通过company_address表连接,由address_id和company_id列组成。
我在没有中间表的情况下找到了这个解决方案:
试图修改我想出的查询:
UPDATE company SET company.city=foo.city
FROM (
SELECT company_address.company_id, company_address.address_
我有两个像这样的MySQL表
表主
电子邮件弹跳状态
表反弹
电子邮件
我想要的是一个查询来更新(回弹和状态列)主表中有关弹跳表的数据。
这是我尝试过的查询,update main inner join bounce on (main.email = bounce.email) set main.bounce='yes' and main.status='Inactive';
我需要一些帮助将两个表合并到不同的SQLLite数据库中。
让我们将表称为T1和T2。这些表具有相同的架构,但存在于不同的数据库中。让我们假设T1存在于名为DB_Target的数据库中,而T2驻留在名为DB_Source的数据库中。表的架构很简单:
表列
我希望合并这两个表,因此如果第一个表包含来自第二个表的url,则只需更新cat列,否则通过递增id将url和cat添加到第一个表中。简单的算法是:
for url2 in second_table:
url1 = "SELECT url FROM first_table"
if url1 == url2 t
我有两张桌子jhead和jjops。我正在用以下声明更新jhead:
UPDATE jhead h
SET h.jhpcmp = 1
WHERE h.jhpcmp = '0' AND h.jhpqty <= h.jhqtys
但是现在我想根据我在jjops中更新的内容来更新jhead。声明的内容如下:
UPDATE jjops j
SET j.jascmp = 1, japcmp = 1
WHERE (This is where I am stuck)
连接这两个表的内容如下:h.jhjob = j.jajob
有什么方法可以同时更新这两个表吗?我应该首先使用联接更新表j
您好,我有一个分区表,当我试图更新在循环中使用少量选定分区并动态传递分区名称时,它不起作用。
for i in 1..partition_tbl.count Loop
UPDATE cdr_data PARTITION(partition_tbl(i)) cdt
SET A='B'
WHERE
cdt.ab='c'
End Loop;
partition_tbl对象包含我要在其中执行此更新的所有分区。
请建议我如何在这里进行。
提前感谢
我想在动态sql中更新一个表。
declare
x varchar2(10) := 'table_n';
begin
execute immediate 'update :1 set column_n = 12345' using x;
end;
我得到ORA-00903:无效的表名
但
declare
x varchar2(10) := 'table_n';
begin
execute immediate 'update ' || x || ' set column_n = 12345&
我想要更新一些相互依赖的表,每个表都有100列。我试着做的一个简化版本是:
Update a
Set a.[2] = b.[1]*c.[mult]
from table1 a join table2 b on a.[id] = b.[id]
join table3 c on a.[id] = c.[id]
Update b
Set b.[2] = a.[2]*d.[mult]
from table2 b join table1 b on a.[id] = a.[id]
join table4 d on b.[id] = d.[id]
然
什么是最好的表现,两个独立的UPDATEs:
UPDATE table1
SET enabled = 0
WHERE code NOT IN (
SELECT id
FROM table2
);
UPDATE table1
SET enabled = 1
WHERE code IN (
SELECT id
FROM table2
);
还是一个带着箱子的UPDATE?
UPDATE table1
SET enabled = (
CASE
我有3个sql表customer、employee和manager。我想要动态访问我的表。我有一份这样的声明, "update customer set AMOUNT where ID= ?" 但在这种情况下,我只能访问客户。我需要为不同的操作访问所有的表。有没有可能写下这个, "update ? set AMOUNT where ID=?" 或者我可以做些什么来访问不同类的employee。
大家好,我有一个关于sqlite语法的问题,所以我知道它的工作方式类似于mysql,但是当我试图修改sqlite中的两个表时,它会让我在逗号中出现错误,您是‘用户’,'score‘来修改两个表,mysql用这个语法正常工作,这就是我所做的错误,有人可以帮我得到这个错误。
SQL错误:近",":语法错误
`UPDATE `users` , `score` SET `user`='usernew',`us_score`='usernew' WHERE `user` like 'userold' and `us_scor
我想知道我可以用这种格式插入表名吗?
String update = "UPDATE ? SET Status = ? WHERE Name = ?";
stmt.setString(1,tableName);
stmt.setString(2,status);
stmt.setString(3,name);
insert和delete语句也是这样吗?
我试图使用存储过程动态更新表的值。我的存储过程如下,
CREATE OR REPLACE PROCEDURE Update
(
IN ID1 BIGINT,
IN SOURCE1 VARCHAR(100),
IN NAME1 VARCHAR(100)
)
DYNAMIC RESULT SETS 2
LANGUAGE SQL
BEGIN
UPDATE MessageTable
SET SOURCE=SOURCE1,
NAME=NAME1
WHERE ID=ID1;
END
当我试图单独传递ID1和SOUR
我在SQL方面非常糟糕,所以我很难使用来自不同表的值进行更新:
我需要在两个不同的表中使用值,以及PHP脚本中的值,作为更新查询的一部分,将其转换为第三个表。我当前的SQL
UPDATE
order1
SET
Reorder_Time=supplier.Reorder_Time
Amount_Ordered="123456789"
Stock_Amount=product.Stock_Amount
FROM
supplier,product
WHERE
Order_ID="123456789"
变量只是来自
我正在使用Server 2014,并运行以下更新查询:
UPDATE ReservationStay
SET ReasonForstayCode = b.ReasonForStayCode
FROM MissingReasonForStay b
WHERE ReservationStayID = b.ReservationStayID
查询的目的是使用“ReasonForStayCode”表中的数据更新“ReservationStay”表中的“MissingReasonForStay”列。需要使用两个表的“ReservationStayID”列进行查找。
问题是,SSMS在代码的第4行
怎样才能有for循环?
例如,我有一个表,希望为每条记录工作。
用户:
Id Name Credit
1 A 0
2 B 0
3 C 0
希望编写一个从另一个表中填充信用的查询。
update Users set credit=(select sum(credit) from creditLog where userId=...)
需要创建每个用户的for并将id发送到此查询。
编辑:
根据答案,写下面的查询,但是当一个表的和(价格)为空时,另一个表不会复制
UPDATE U SET U.cred
我有一个Server表Products,我希望根据产品代码在图像列中插入每个图像的图像,其中图像的名称与产品代码相同。
UPDATE Products
SET ProdImage = (SELECT * FROM Openrowset
( Bulk 'C:\Users\DELL\Desktop\ImageCatalog\sbrk.jpg' , Single_Blob)
as image)
WHERE CODE = 'sbrk'
GO
当我试图使路径动态时,图像的名称和代码是sbrk,我得到了一个异常:
期望字符串,TEXT_LEX
我正在尝试使用源表中的值更新目标表中的不同字段。更新可能针对不同的表列,我希望动态设置。 似乎我不能使用"dest.@FieldName“来动态设置值。有没有办法让我做到这一点? DECLARE @FieldName VARCHAR(50) = ''
SET @FieldName =
CASE
WHEN @FieldCode = 0 THEN 'type'
WHEN @FieldCode = 1 THEN 'name'
WHEN @FieldCode = 2 THEN 'age
我需要从几个表中动态获取数据。所以我有两个配置表来存储关于这些表的信息。其中一个表包含表列表中的信息,如下所示:
TableName TableCode TableColumn
----------------------------------------
a a a1
a a a2
b b b1
b b b2
b b b3
c
我一直试图在查询中找到动态更改表名的方法,但到目前为止还没有找到起作用的表名。该查询有重复的代码(每个case语句中大约有150行代码),因此我试图找到一种更好的方法。
我目前的程序如下:
CREATE OR REPLACE PROCEDURE PROC_MY_TEST (P_INPUTVAR NUMBER,
P_OUT OUT SYS_REFCURSOR)
AS
BEGIN
CASE P_INPUTVAR
WHEN 1
THEN
OPE
我正在尝试更新我的invoices表的每一行,以保存该发票的税额。这是通过获得与供应商相关的税收百分比并将其乘以发票金额(显然)来计算的。我的问题是,我正在尝试使用与其他表连接的同一个表中的数据来更新表。目前,我的查询如下所示,错误为:
Error Code: 1093. Table 'tblVendorInvoices' is specified twice, both as a target for 'UPDATE' and as a separate source for data
当我删除WHERE语句时&
Error Code: 1054. U
以下是我的java代码:
public int function(String name)
{
int i=0;
int id=0;
try
{
String get_id="SELECT id FROM table_name JOIN tbl_2 ON tbl_name.pk_id = tbl_2.fk_name_id where active_flag=1 and updated_at <= NOW() - INTERVAL 3 MINUTE";
Statement stmt=(Statement
我正在使用postgreSQL。我想从表中选择数据。这样的表名包含本年度。例如abc2013。我试过了
select * from concat('abc',date_part('year',current_date))
select *from from concat('abc', extract (year from current_date))
那么如何从这样的表中动态获取数据呢?
第一次创建数据库触发器。我有一个子表,在更新它的成本列时,我需要它的父表也更新它的成本列以反映更改。
到目前为止,这是我的遗憾尝试。这显然不起作用。我在找出如何提取总成本作为变量并将其存储在父表中时遇到了问题。
目前,我的方法假设是静态的id值。我不完全确定如何动态地确定已更新的行的id值。
CREATE TRIGGER ParentCost_Update
ON ChildTable
AFTER INSERT, UPDATE
AS
SELECT SUM(Cost) AS TotalCost FROM ChildTable where parent_id=2080
UPDATE Pare