我想从链接服务器(oracle)表中更新SQL Server 2008中的列。我有表列是opr_code,m_code等。在SQL Server表中有值在opr_code中。
我想从链接服务器( oracle )更新SQL Server中的m_code值,其中常见值是opr_code,它在oracle中是conf_code。我尝试使用以下查询
update test_S set m_code=A.M_CODE from
(Select * FROM OPENQUERY(linkserver,'Select * From abcd.NAME_desk)) A
in
我必须根据另一个表中的值来更新值:
update OracleOb..NS.myTable set name = (select name from myTable1 where id = 1)
where id = 1
在这里,SQL有一些问题。如何从myTable1获取值并将其设置为myTable?
我使用的是MS SQL 2005。
很抱歉,我必须重新编辑此问题。表myTable是Oracle表的链接对象。我尝试了建议的答案,但收到错误消息:
The OLE DB provider "OraOLEDB.Oracle" for linked server "
UPDATE FRA_SAP
SET FRA_SAP.ENT_ATTRIBUTES = FE.ENT_ATTRIBUTES
FROM FRA_SAP FES
INNER JOIN FRA_ENTITIES FE
ON FES.ID = FE.ID
我得到以下错误:
java.sql.SQLSyntaxErrorException: ORA-00933: SQL command not properly ended
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:450)
at oracle.jdbc
下面的成功地演示了如何使用UPDATE集和FROM子句一起使用从不同表派生的值更新特定列的整行。
在Oracle SQL中执行以下表达式时:
UPDATE territory2_t
SET total_sales_person = t.total_count
FROM (
SELECT salesterritoryid, count(*) as total_count
FROM salesperson_t
group by salesterritoryid
) t
WHERE territoryid = t.salesterritoryid;
Oracle状态: SQ
我正在尝试在Oracle中创建一个update语句。以下是SQL Server中的版本:
UPDATE ev
SET
(ev.station_type = t.st_type, ev.adt = t.adt )
FROM source ev
JOIN dataTbl t
ON ev.counterID = t.counterID
有两个表,源表分别是counterID是主键,dataTBL表是counterID是外键,我正在尝试从dataTBL中将数据获取到源表。
如果有人帮助创建Oracle版本的更新,我将不胜感激。谢谢,Greener
对于下面的语句,我得到SQL error ORA-00933。它可以在postgres中解析,但不能在oracle中解析...对于oracle,这应该如何格式化?
提前感谢!
UPDATE comments
SET parent_type='report'
FROM reports
WHERE comments.parent_id=reports.id;
我想大容量更新同一表中的一些行。我有一个表,比方说表A,列是Id和OriginalID。我想编写一个包含内部联接和其他一些表的组合的查询:
Update TABLEA
SET OriginalID = Id
FROM TABLEA A
INNER JOIN TableB B ON <join condition>
INNER JOIN TableC C ON <join condition>
WHERE c.SomeCol = <value>
这适用于Server 2005,而对于Oracle,则会出现错误
SQL错误: ORA-00933: SQL命
我是Oracle8i PL/SQL的新手,请帮助我进行PL/SQL的简单更新,我对T-SQL比较熟悉,但对PL/SQL比较迷惑。
Update a
SET a.column = null
FROM table1 a INNER JOIN table2 b ON a.fields1=b.fields1
WHERE a.fields3=[criteria]
任何帮助都将非常感谢,
Rgds Affan
我正在使用SQL Server (以及Oracle作为链接服务器)。
此任务涉及使用Oracle表中对列名的任何新更改来更新Server表。
EMP是PK,名称是可以更改的列。
ORACLE = TABLE1:
EMP NAME
-------------------- --------------------
1 JOE
2 David
3 BOB
我有点困惑,将oracle触发器转换为sql server。任何指点都是非常感谢的。我不知道如何在sql server中替换“如果插入”和“如果更新”?
create or replace trigger tg_ap
before insert or update of strno, strfac, strfacstreet, strfacstreet2
on AP
for each row
begin
if inserting then
:new.I_stat_ind:= 'Insert';
end if;
if updating t
我试图使用clojure.java.jdbc在Oracle上做一个简单的update语句。
(sql/db-do-prepared db "update table_name set active = 1 where id in (?)" ["one" "two"])
但我得到了:
java.sql.SQLException: Invalid column index
我确信所有数据类型都是正确的。看来这种构造在clojure.java.jdbc中是不允许的。任何反馈都是非常感谢的。
我在使用Oracle10g语法进行相关更新时遇到了困难。我正在PL/SQL过程中处理这段代码。
我会这样处理SQL Server中的问题:
UPDATE table_a a
SET a.prov_id=pn.prov_id,
a.step=1
from (
SELECT p.prov_id
FROM note n
INNER JOIN provider p ON n.author_id=p.user_id
where n.enc_id=a.enc_id
我已经构造了一个我认为是简单的update语句,但仍然会遇到: General SQL error。ORA-00933: SQL命令未正确结束 声明: UPDATE TEAM_MEMBER_TEMPLATE
SET TEAM_MEMBER_TEMPLATE.TITLE = TEAM_MEMBER.TITLE
FROM TEAM_MEMBER_TEMPLATE
INNER JOIN TEAM_MEMBER
ON TEAM_MEMBER_TEMPLATE.TEAM_MEMBER_ID= TEAM_MEMBER.ID
我对Oracle比较陌生,职业生涯的大部分时间都在从事MS SQL的工作。我习惯于做这样的事情:
update t
set Col1 = o.Col2
from MyTable t
join OtherTable o on t.OtherID = o.ID
我在Oracle中尝试过这种语法,但它不接受它。我在里找了一下,找不到我要做的事情的一个例子。
你是怎么做到的?
我想问一下关于SQL Server中相当于代码的问题
我正在做一个项目,在这个项目中,由于数据库迁移,我们将把unix批处理转换成windows批处理。因为我在处理shell脚本和oracle之类的东西,所以我在windows方面的工作很艰难。
我的问题是关于oracle sql使用的游标。
有没有人可以帮我把下面的示例查询
sampleanimal.sql
declare cursor getGM is
select dog as d, cat as c, fish as f
from animals
begin
for dr in getGM loop
UPDATE z
我正在尝试编写一个带有内部连接的简单update语句,但我在SQL server中执行此操作的方法在ORACLE中似乎行不通。以下是更新:
UPDATE D
SET D.USER_ID = C.USER_ID
FROM D INNER JOIN C
ON D.MGR_CD = C.MGR_CD WHERE D.USER_ID IS NULL;
看起来我得到的错误是在FROM上。有人能解释一下这是什么原因以及如何解决它吗?
Update table1 t1
set t1. col1='op'
where t1.col2 in (select t2.col2 from table2 t2 where t1.col3 = t2.col3) ;
上面的查询在Oracle中运行,但在SQL server中不起作用。
抛出错误: t1附近不正确的语法。
我想知道如何用Oracle SQL编写这个查询:
UPDATE address
SET phone1 = sp.phone,
is_avlbl = ( CASE
WHEN sp.name IS NULL THEN 1
ELSE 0
END )
FROM address ad
LEFT JOIN speaker sp
ON sp.addressid = ad.id
上面的查询格式来自MS
我有以下SQL语句(Oracle):
UPDATE work x
SET param1= 200, length= 2.5, length_fixed= 0
WHERE param_name = 'pipe'
AND x.id IN (SELECT y.id from work y
JOIN work_specific bsa ON y.foreign_id= bsa.id
JOIN work_plan ape ON bsa.foreig_id = ape.id
WHERE ape.code =
请您帮助我处理与多个表的联接一起使用的以下update语句:
update rol
set
rol.role_name = GetCode('ADDRTYPE', ao.Addr_Typ)
FROM table_addr ao ,
table_contact con ,
table_role rol
where con.appid = rol.id
AND ao.use_id = con.con_id
and rol.role_name='Corporate'
我得到了Oracle错误:
SQL : O
我现在正在学习SQL,我使用的是ORACLE数据库。我已经完成了这个网站的练习:https://sql.sh/exercices-sql/commandes和我正在做完全相同的事情,只不过这次是针对Oracle数据库。 我的问题如下: 我有这两个表: CREATE TABLE orders(
order_id INT GENERATED BY DEFAULT AS IDENTITY,
customer_id INT NOT NULL,
order_date DATE NOT NULL,
reference VARCHAR(255) NOT NULL,
total_pric
我在Oracle中有此触发器,需要将其转换为SQL Server,但我对SQL Server一无所知。 也许这里有人知道怎么转换这个触发器? CREATE OR REPLACE TRIGGER tr_u_gesamtstatus_datum
BEFORE
UPDATE
ON anmeld_x
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
WHEN (new.gesamt_status != old.gesamt_status)
begin
:new.gesamt_status_datum := sysdate;
end;
我需要从Python代码中适当地更新Oracle表。这是一段简单的代码,但我遇到了cx_Oracle.DatabaseError: ORA-01036:非法变量名称/数字,尝试如下
id_as_list = ['id-1', 'id-2'] # list of row IDs in the DB table
id_as_list_of_tuples = [('id-1'), ('id-2')] # the same as list of tuples
sql_update = "update my_table set pr
我已经创建了一个触发器,确保电话号码以默认格式插入到数据库中。它是为Oracle数据库创建的。现在我正在使用SQL Server2008 R2,在转换这个触发器时遇到了问题。有人能帮我把下面的触发器转换成T-SQL吗?
create or replace trigger before_insert_update_locations
BEFORE insert or update
ON locations
for each row
BEGIN
if length(:new.phone) = 10 then
:new.phone := '(
我使用的是oracle sql developer,代码工作得很好,但突然之间它就不能工作了。当我运行执行行时,它给出"ORU-10027: buffer overflow,limit of 20000 bytes“错误。以下是我的代码
create or replace procedure update_painting_price
is
CURSOR c_painting is SELECT painting_id, painting_price FROM painting;
c_paintingid painting.painting_id%type;
我已经使用以下PL/SQL代码在Oracle APEX中创建了一个进程:
UPDATE RACUN SET
UKUPNO_RACUN = (SELECT SUM(S.IZNOS_STAVKE)
FROM STAVKA_RACUNA S
WHERE S.BROJ_RACUNA_STAVKE = BROJ_RACUNA);
但是,如何在SQL命令中为该代码创建触发器呢?
我有两张桌子。TableA和TableB
我想根据2个条件更新TableA,一个条件来自TableA,第二个条件来自TableB。
UPDATE TableA SET
TYPE = (CASE when TYPE = (SELECT DISTINCT(A.TYPE) FROM TableA A JOIN TableB B ON B.SOID = A.NAME where B.level = 9 and A.TYPE = 66) then 12
when TYPE = (SELECT DISTINCT(A.TYPE) FROM TableA A
我有一个表中的以下记录。我想使用Oracle 9、10、11中的SQL来完成我的任务。
1040 1040a 1040e tax_id
Y 111
Y 111
Y 4444
Y 4444
Y 4344
Y 4344
如何在Oracle中使用SQL来获取所需的输出,如下所示:
1040 1040a 1040e
我想在proc sql中实现这样的功能:
proc sql;
%connect_to_sql_macro;
create table sql.table as
(
select some_id, date from connection to oracle
(
select some_id, date, row_number()over(partition by some_id order by date) as row from dataset d join sql_table s on d.some_id=s.some_id
) where row=1
基本上,我需要在oracle中创建
表1:
id name desc
-----------------------
1 a abc
2 b def
3 c adf
表2:
id name desc
-----------------------
1 x 123
2 y 345
在oracle SQL中,如何运行sql update查询,使其可以使用表2的name更新表1,并使用相同的desc更新表1?所以我得到的最终结果是
表1:
id name desc
------------------
我在python脚本中有一个字典,其中包含column_name:value形式的数据,我想从这个字典中创建update语句。我使用的是python3.3和cx-oracle,我找到了答案:
并将其用作:
SQL = 'UPDATE scheme SET {}'.format(', '.join('{}=%s'.format(k) for k in schemes_dict))
cursor.execute(SQL, schemes_dict.values())
但是它的错误是:
TypeError: expecting a dictionar
我在Oracle中有一个物化视图,需要将其转换为SQL server。我不知道如何编写同样的索引视图概念。这是我的物化视图
CREATE MATERIALIZED VIEW STUD_FUZZY_CERTIFICATIONS_mv
FOR UPDATE
AS
SELECT *
FROM STUD_FUZZY_CERTIFICATIONS; -- some base table