What is in a Select query?
I'm trying to understand the use of the symbol @ and xxxxx in the query as follows...
Select Col1, Col2, Col3 FROM school. MyTable@xxxxx
It's actually a matter of SQL. This forum is for SQL * specific Developer of questions - not for general questions of SQL/PL/SQL that belong in the forum SQL and PL/SQL in the Oracle database section.
But we are here and the question has a simple answer. The "@" indicates that a database must be used to access the table that exist (probably) in a different database. You can read about the database links in the documentation.
Tags: Database
Similar Questions
-
What is the syntax for creating a global temporary table using a select query
HII
I create a global temporary table using a select query... How to speak of "on commit preserve rows ' who?
create a table temporary global t1 select * from trn_ordbase on the lines of commit preserve;
but this is an invalid syntax, then how to talk on commit preserve rows in this? If I don't mention, by default its recital on the validation of deleted rows.
Please help me on this problem.create global temporary table t1 on commit preserve rows 2 as select * from dual; Table created. TUBBY_TUBBZ?
-
place a select query calculation in a different column in the same table
How can I put my calculation result in a column named within the same table?
I have a table called: dgpercentagedatachart
I use the columns of this dgpercentagedatachart: totalcecrating divided by lowestfeederrating times 100 to get the percentage
In the query, I gave the result the Alias of the cal
What I want is to put this result in my application or my calculation (in percentage) in my column "percent" on my table of dgpercentagedatachart vacuum.
How can I configure this syntax?
This is the select query, I came with:
Select dgpercentagedatachart.totalcecrating, dgpercentagedatachart.lowestfeederrating,.
100.00*dgpercentagedatachart.totalcecrating/dgpercentagedatachart.lowestfeederrating as cal
of dgpercentagedatachart;
Here are the results:
CAL lowestfeederrating Totalcecrating
8,978 7.48166666666666666666666666666666666667 120
30.951 25.7925 120
5.04 120 4.2
Hello
2685870 wrote:
How can I put my calculation result in a column named within the same table?
I have a table called: dgpercentagedatachart
I use the columns of this dgpercentagedatachart: totalcecrating divided by lowestfeederrating times 100 to get the percentage
In the query, I gave the result the Alias of the cal
What I want is to put this result in my application or my calculation (in percentage) in my empty column '%' on my table of dgpercentagedatachart .
How can I configure this syntax?
This is the select query, I came with:
Select dgpercentagedatachart.totalcecrating, dgpercentagedatachart.lowestfeederrating,.
100.00*dgpercentagedatachart.totalcecrating/dgpercentagedatachart.lowestfeederrating as cal
of dgpercentagedatachart;
Here are the results:
CAL lowestfeederrating Totalcecrating
8,978 7.48166666666666666666666666666666666667 120
30.951 25.7925 120
5.04 120 4.2
To change an existing column in a table, you can use the UPDATE or MERGE, instructions like this:
UPDATE dgpercentagedatachart
Percentage of VALUE = 100,00 * totalcecrating
/ lowestfeederrating
;
Noramlly, tables is not redundant columns like this. If percent can always be calculated from other columns, then it is probably better to calculate at run time and store it in the database, where you will have to be updated each time the columns it depends on change. You can use a view to avoid having to encode them the calculation.
If you really don't want a column that can be calculated in the same lines other columns, then use a virtual column (if you use Oracle 11 or higher).
I hope that answers your question.
If this isn't the case, please post a small example of data (CREATE TABLE and only relevant columns, INSERT statements) for all of the tables involved and also publish outcomes from these data.
If you ask on a DML statement, such as UPDATE, the sample data will be the content of the or the tables before the DML, and the results will be the State of the or the tables changed when it's all over.
Explain, using specific examples, how you get these results from these data.
Always say what version of Oracle you are using (for example, 11.2.0.2.0).
See the FAQ forum: Re: 2. How can I ask a question on the forums?
-
Hello
I have a query something like...
Select...
....
where
b.ProdName as 'GEAR of the TREE %' or b.prodname like '% FRONT GEAR %' or b.prodname like '% BREAK 4 %k '.
and
b.ProdName as
(select the name of the society of companyms
where < some comdition >
)
order of 3.6
I have blocked in:
b.ProdName as
(select the name of the society of companyms
where < some comdition >
)
How to give a select query with like operator.
In above query I want to b.prodname as above and the name of the company for which I give condition. Company names are stored in another table and I want to select and use them with like operator.
Thank you.
Hello
It is not clear what you want to do.
One possibility is an EXISTS subquery, like this:
...
WHERE (b.prodname LIKE "% of the CYCLE of the TREE" - begins with this text
OR b.prodname LIKE '% FRONT GEAR %' - contains this text
OR b.prodname LIKE '% BREAK 4 %k' - contains this text
)
AND THERE ARE)
SELECT 1
OF companynms
WHERE--a condition
AND b.prodname AS business
)
I hope that answers your question.
If not, post a small example of data (CREATE TABLE and only relevant columns, INSERT statements) for all of the tables involved and the results desired from these data.
Explain, using specific examples, how you get these results from these data.
Always say what version of Oracle you are using (for example, 11.2.0.2.0).See the FAQ forum: https://forums.oracle.com/message/9362002
-
How to write a simple select query to get the data of the table as an XML.
How to write a simple select query to get the data of the table as an XML. In the query, I'm just adding items below which i need be there in the XML document
I have need to add the root tag as well in the beginning and the end of < root > < / root > this xml file. Please advice if this is possible with the select queryselect '<test_tag>'||EMP_NAME||'</test_tag>','<date>'||sysdate||'</date>' from temp_table where id_num BETWEEN 1 AND 10;
without using XMLGEN, XMLQUERY or any other packages built and function?I need to URL escapes with the UTF-8 code points that we have already achieved using the utl_http package. Please help how to do that without using the utl_http package.
What is wrong with him?
At present, the only way I can think of to avoid a call to UTL_HTTP. SET_BODY_CHARSET is to write your own little wrapper.
In this way, you can specify the Boolean parameter or omit it if you choose to use named parameters:SQL> create or replace function my_url_escape (url in varchar2) 2 return varchar2 3 deterministic 4 is 5 begin 6 return utl_url.escape(url, false, 'AL32UTF8'); 7 end; 8 / Function created SQL> select my_url_escape('http://some.uri.com/param?lang=fr&text=contrôle') from dual; MY_URL_ESCAPE('HTTP://SOME.URI -------------------------------------------------------------------------------- http://some.uri.com/param?lang=fr&text=contr%C3%B4le
-
A loop using the SQL select query.
Hello
I wanted to know, if the concept of loop is possible thanks to the SQL select statement.
For example
=======
Table T1
Col1 Col2
Slim 10
I want to write a query in such a way, so that when I get the result of the query, I format below.
Col1 Col2
Slim 10
Slim 10
Slim 10
Basically what I'm trying to achieve is, I have a table with two columns and it has a single line displayed above.
I want to display this line several times as the output of my SELECT query.
Let me know, if this target is achievable.
Kind regards
SaurabhLike this?
SQL> SELECT 10 col1, 'Sourabh' col2 2 FROM DUAL 3 CONNECT BY LEVEL <= 3; COL1 COL2 ---------- ------- 10 Sourabh 10 Sourabh 10 Sourabh SQL>
-
How to see the info of waiting events. After executing a statement select query
Hello
How to see the info of waiting events. After running a select query. Is there a setting to the value of this option?
And I also want to see the following info. in the trace file. For this, what are the settings I need to adjust to the right?
ConcerningSELECT * FROM emp, dept WHERE emp.deptno = dept.deptno; call count cpu elapsed disk query current rows ---- ------- ------- --------- -------- -------- ------- ------ Parse 1 0.16 0.29 3 13 0 0 Execute 1 0.00 0.00 0 0 0 0 Fetch 1 0.03 0.26 2 2 4 14 Misses in library cache during parse: 1 Parsing user id: (8) SCOTT
EvelyneFor
SQL > show parameter dump;
ORA-00942: table or view does not exist
>
UseGRANT SEECT ON v_$parameter to Your_User_Name
For
SQL > ALTER SESSION SET EVENTS = 10046 trace name forever, context level 12';
ERROR:
ORA-01031: insufficient privileges
>
UseGRANT ALTER SESSION to your_user
-
Hi all
Need select records less where Rownum < = 100, a table in which the records are classified by a field in a query, but after stopped in the ordering of rownum gets changes.
Now I want to select records where ronum < = 2 as below, this can be done by changing only in where clause and do not touch the query select, as can do a nested query I but need to do it by changing only in where clause.with t as (select 1 a,'d' b from dual union select 8 a,'t' b from dual union select 3 a,'u' b from dual union select 7 a,'k' b from dual ) select t.*,rownum from t order by 2 ; A B ROWNUM 1 d 1 7 k 3 8 t 4 3 u 2
Thanks in advanceA B ROWNUM 1 d 1 7 k 3
Thanks and greetings
Sanjay
Published by: Sanjay March 29, 2011 06:26Hi, Sanjay
Sanjay wrote:
Hi allNeed select records less where Rownum<= 100,="" from="" a="" table="" in="" which="" records="" are="" ordered="" by="" a="" field="" in="" a="" query="" but="" after="" doing="" order="" by="" the="" rownum="" ordering="" gets="">=>
with t as (select 1 a,'d' b from dual union select 8 a,'t' b from dual union select 3 a,'u' b from dual union select 7 a,'k' b from dual ) select t.*,rownum from t order by 2 ; A B ROWNUM 1 d 1 7 k 3 8 t 4 3 u 2
Now I want to select records where ronum<= 2="" like="" below,="" can="" this="" be="" done="" by="" changing="" only="" in="" where="" clause="" and="" not="" touching="" the="" select="" query="" as="" it="" can="" be="" done="" by="" nested="" query="" i="" but="" need="" to="" do="" it="" by="" changing="" only="" in="" where="">=>
A B ROWNUM 1 d 1 7 k 3
No, there is no way to get these results by changing only the WHERE clause. As it is, you have no column or expression in the main query that indicates how the lines are classified according to b, which is exactly what to test in the WHERE clause. (Remember, ROWNUM is assigned before ORDER BY is done in the same auxiliary request). You must add a using ROWNUM or ROW_NUMBER analytic function. either way requires some preparation to be done in a subquery.
For example, the following query has an ORDER BY clause, added to the request slot, so that ROWNUM in the main query will be more arbitrary:
with t as (select 1 a,'d' b from dual union select 8 a,'t' b from dual union select 3 a,'u' b from dual union select 7 a,'k' b from dual ORDER BY b -- Added ) SELECT t.* , ROWNUM FROM t WHERE ROWNUM <= 2 -- Added ORDER BY b ;
Output:
` A B ROWNUM ---------- - ---------- 1 d 1 7 k 2
It is no coincidence that the numbers in the column ROWNUM are 1 and 2. If you want really to arbitrary numbers (such as 1 and 3), you will need an another subquery.
-
What is the sql SELECT statement to list all service names in the database?
What is the sql SELECT statement to list all service names in the database?
I tried
SELECT name FROM dba_services
But a long with valid service, he list also some other documents that are not the names of services.Hello
You can try this query:
select name, value from v$parameter where name = 'service_names';
Hope this helps.
Best regards
Jean Valentine -
Hi guys
I get problem in my select query that creates a long string, it works very well without a prescription but when I run this order that she be hanged. This request for help on the function to concatenate multiple strings into one string as well
Please help me what I'm doing wroing.
Select
regexp_substr(PE.emp_id,'[0-9]+$') |' | ' ||
p.title |' | ' ||
CDT. Text: ' |' |
j.tit | staff_pcb.host_pub_tit |' | ' ||
jou.vol | PCB.vol | PCP.vol |' | ' ||
jou.journal_number |'| ' |
substr (jou.pages |) PCB.pages | PCP.pages, 1, instr (jou.pages |) PCB.pages | PCP.pages, '-')-1) |' | ' ||
substr (jou.pages |) PCB.pages | PCP.pages, instr (jou.pages |) PCB.pages | PCP.pages, '-') + 1) |' | ' ||
PCB.St | jou. St | PCP.St |'| ' |
concat_aut (p.ID)
Pub p, j, caa c, pe, cdt class_t,.
(select pcj.pub_id, pcj.vol, pcj.pages, pcja.st
Of pub_C_j_a airports, JCP pc_j
where pcja.pub_c_j_id = pcj.pub_id) played.
(select pcb.pub_id, pcb.host_pub_tit, pcb.pages, pcb.vol, pcba.st
Pub_c_b pcb, printed circuit board pub_c_b_a
where pcba.pub_c_b_id = pcb.pub_id) pcb.
(select pcp.pub_id, pcp.vol, pcp.pages, pcpa.st
Of pcp, pub_c_p_a LPA pub_c_p
where pcpa.pub_c_p_id = pcp.pub_id) CFP,.
where
p.ID = c.pub_id
and c.person_id = pe.id
and p.t_c_id = cdt.c_id
and p.journal_id = j.id (+)
and p.id = jou.publication_id (+)
and p.id = pcb.publication_id (+)
and p.id = pcp.publication_id (+)
and substr (regexp_substr(pe.emp_id,'[0-9]+$'), 1, 2) in('77','78')
and pcb.st. jou. St | PCP.St = '1' order of pe.emp_id
;Here's something
regexp_like(emp_id,'(^|[^0-9])(77|78)[0-9]*$')
work instead?
Not sure if this should use an index no longer however.
Kind regards
BobPublished by: BobLilly on March 25, 2010 14:56
Published by: BobLilly on March 25, 2010 14:58
-
Help of the complex select query (Group by)
Hello
I am in need of your help to create a unique select query for the data in the table below and whose output requies. I use oracle 10g on RHEL 5 version.
create table bustour (number of bussno (4), start_date date, number (2)) passenger;
ALTER session set nls_date_format = "dd-mm-yyyy";
insert into bustour values (4123, April 10, 2009 ", 20);
insert into bustour values (4123, may 10, 2009 ", 25);
insert into bustour values (4123, may 10, 2009 ', 18);
insert into bustour values (4123, June 10, 2009 ', 15);
insert into bustour values (6138, March 10, 2009 ', 16);
insert into bustour values (' 6138, March 10, 2009 ", 19);
insert into bustour values (6138, April 10, 2009 ', 22);
insert into bustour values (' 6138, April 10, 2009 ", 13);
insert into bustour values ("4123, July 10, 2009 ', 23);
insert into bustour values (4123, August 10, 2009 ", 27);
insert into bustour values (4123, November 10, 2009 ', 15);
insert into bustour values (6138, may 10, 2009 ', 16);
insert into bustour values (6138, may 10, 2009 ', 13);
insert into bustour values (6138, may 10, 2009 ', 18);
insert into bustour values (' 6138, may 10, 2009 ", 24);
insert into bustour values (6138, July 10, 2009 ", 20);
insert into bustour values (6138, August 10, 2009 ", 18);
So that we can know on what particular travel calendar, we have obtained maximum passengers and the date. (For calculating % of bonus driver)SQL> select * from bustour; BUSSNO START_DATE PASSENGERS ---------- ---------- ---------- 4123 04-10-2009 20 4123 05-10-2009 25 4123 05-10-2009 18 4123 06-10-2009 15 6138 03-10-2009 16 6138 03-10-2009 19 6138 04-10-2009 22 6138 04-10-2009 13 4123 07-10-2009 23 4123 08-10-2009 27 4123 11-10-2009 15 BUSSNO START_DATE PASSENGERS ---------- ---------- ---------- 6138 05-10-2009 16 6138 05-10-2009 13 6138 05-10-2009 18 6138 05-10-2009 24 6138 07-10-2009 20 6138 08-10-2009 18 17 rows selected. I want query output as below : Bussno start_date end_Date totalpassengers maxpessenger maxpassdate 4123 04-10-09 06-10-09 78 25 05-10-09 6138 03-10-09 04-10-09 70 22 04-10-09 4123 07-10-09 11-10-09 65 27 08-10-09 6138 05-10-09 08-10-09 109 24 05-10-09
Please help me to write the query.
Best regards
NishaOK, something like this:
with my_tab as (select 1 id, 4123 busno, to_date('04/10/2009', 'dd/mm/yyyy') start_date, 20 passengers from dual union all select 2 id, 4123 busno, to_date('05/10/2009', 'dd/mm/yyyy') start_date, 25 passengers from dual union all select 3 id, 4123 busno, to_date('05/10/2009', 'dd/mm/yyyy') start_date, 18 passengers from dual union all select 4 id, 4123 busno, to_date('06/10/2009', 'dd/mm/yyyy') start_date, 15 passengers from dual union all select 5 id, 6138 busno, to_date('03/10/2009', 'dd/mm/yyyy') start_date, 16 passengers from dual union all select 6 id, 6138 busno, to_date('03/10/2009', 'dd/mm/yyyy') start_date, 19 passengers from dual union all select 7 id, 6138 busno, to_date('04/10/2009', 'dd/mm/yyyy') start_date, 22 passengers from dual union all select 8 id, 6138 busno, to_date('04/10/2009', 'dd/mm/yyyy') start_date, 13 passengers from dual union all select 9 id, 4123 busno, to_date('07/10/2009', 'dd/mm/yyyy') start_date, 23 passengers from dual union all select 10 id, 4123 busno, to_date('08/10/2009', 'dd/mm/yyyy') start_date, 27 passengers from dual union all select 11 id, 4123 busno, to_date('11/10/2009', 'dd/mm/yyyy') start_date, 15 passengers from dual union all select 12 id, 6138 busno, to_date('05/10/2009', 'dd/mm/yyyy') start_date, 16 passengers from dual union all select 13 id, 6138 busno, to_date('05/10/2009', 'dd/mm/yyyy') start_date, 13 passengers from dual union all select 14 id, 6138 busno, to_date('05/10/2009', 'dd/mm/yyyy') start_date, 18 passengers from dual union all select 15 id, 6138 busno, to_date('05/10/2009', 'dd/mm/yyyy') start_date, 24 passengers from dual union all select 16 id, 6138 busno, to_date('07/10/2009', 'dd/mm/yyyy') start_date, 20 passengers from dual union all select 17 id, 6138 busno, to_date('08/10/2009', 'dd/mm/yyyy') start_date, 18 passengers from dual) -- end of mimicking your data; use SQL below: select busno, min(start_date) start_date, max(start_date) end_date, sum(passengers) total_passengers, max(passengers) max_passengers, max_pass_date from (select id, start_date, busno, passengers, distance, max(start_date) keep (dense_rank first order by passengers desc) over (partition by distance, busno) max_pass_date from (select id, start_date, busno, passengers, -- using tabibitosan method, borrowed from Aketi Jyuuzou dense_rank() over (order by id) - row_number() over (partition by busno order by id) distance from my_tab)) group by busno, distance, max_pass_date order by min(id) BUSNO START_DATE END_DATE TOTAL_PASSENGERS MAX_PASSENGERS MAX_PASS_DATE ---------- ---------- ---------- ---------------- -------------- ------------- 4123 04/10/2009 06/10/2009 78 25 05/10/2009 6138 03/10/2009 04/10/2009 70 22 04/10/2009 4123 07/10/2009 11/10/2009 65 27 08/10/2009 6138 05/10/2009 08/10/2009 109 24 05/10/2009
-
How to optimize the select query executed in a cursor for loop?
Hi friends,
I run the code below and clocked at the same time for each line of code using DBMS_PROFILER.
The SELECT inside the LOOP FOR cursor query took 773 seconds.CREATE OR REPLACE PROCEDURE TEST AS p_file_id NUMBER := 151; v_shipper_ind ah_item.shipper_ind%TYPE; v_sales_reserve_ind ah_item.special_sales_reserve_ind%TYPE; v_location_indicator ah_item.exe_location_ind%TYPE; CURSOR activity_c IS SELECT * FROM ah_activity_internal WHERE status_id = 30 AND file_id = p_file_id; BEGIN DBMS_PROFILER.start_profiler ('TEST'); FOR rec IN activity_c LOOP SELECT DISTINCT shipper_ind, special_sales_reserve_ind, exe_location_ind INTO v_shipper_ind, v_sales_reserve_ind, v_location_indicator FROM ah_item --464000 rows in this table WHERE item_id_edw IN ( SELECT item_id_edw FROM ah_item_xref --700000 rows in this table WHERE item_code_cust = rec.item_code_cust AND facility_num IN ( SELECT facility_code FROM ah_chain_div_facility --17 rows in this table WHERE chain_id = ah_internal_data_pkg.get_chain_id (p_file_id) AND div_id = (SELECT div_id FROM ah_div --8 rows in this table WHERE division = rec.division))); END LOOP; DBMS_PROFILER.stop_profiler; EXCEPTION WHEN NO_DATA_FOUND THEN NULL; WHEN TOO_MANY_ROWS THEN NULL; END TEST;
I tried to use COLLECT in BULK instead of a cursor for loop, but it did not help.
When I took the select query separately and executed with a value of the sample, and then he gave the results in a Flash of a second.
All tables have primary key index.
Any ideas what can be done to make this code more efficient?
Thank you
Raj.DECLARE v_chain_id ah_chain_div_facility.chain_id%TYPE := ah_internal_data_pkg.get_chain_id (p_file_id); CURSOR cur_loop IS SELECT * -- better off explicitly specifying columns FROM ah_activity_internal aai, (SELECT DISTINCT aix.item_code_cust, ad.division, ai.shipper_ind, ai.special_sales_reserve_ind, ai.exe_location_ind INTO v_shipper_ind, v_sales_reserve_ind, v_location_indicator FROM ah_item ai, ah_item_xref aix, ah_chain_div_facility acdf, ah_div ad WHERE ai.item_id_edw = aix.item_id_edw AND aix.facility_num = acdf.facility_code AND acdf.chain_id = v_chain_id AND acdf.div_id = ad.div_id) d WHERE aai.status_id = 30 AND aai.file_id = p_file_id AND d.item_code_cust = aai.item_code_cust AND d.division = aai.division; BEGIN FOR rec IN cur_loop LOOP ... DO your stuff ... END LOOP; END;
Published by: Dave hemming on December 4, 2008 09:17
-
What privileges granted to select from all the PDB files
Why the two selected does not return the same result? Or if you want the broader question - what privileges granted to select from all the PDB files.
I want to leave common user that I created to select and see all of the synonyms of all PDB files.
conn / as sysdba
create user c##nir identified by c##nir container=all;
grant connect,dba,resource to c##nir container=all;
grant select on cdb_synonyms to c##nir container=all;
select CON_ID from cdb_synonyms group by CON_ID;
CON_ID
----------
1
4
11
10
14
5
8
13
3
7
15
6
12
9
conn c##nir/c##nir
select CON_ID from cdb_synonyms group by CON_ID;
CON_ID
----------
1
select CON_ID from containers(dba_synonyms) group by CON_ID
*
ERROR at line 1:
ORA-00942: table or view does not existYou must use the CONTAINER_DATA clause:
ALTER USER ##nir set container_data = container c all = current;
After running the above command, try to select again to cdb_synonyms and you will see the data of all containers.
Read more in my Post of Blog
-
SELECT query time-out - huge table
DBA dear friends,
DB version 11.1.0.7. I have a SELECT query that is running long and wedging on. Query joins the 2 tables. It is partitioned hash (16 sheets) and others are not partitioned, each table is with the same volume of data - 230 million lines.
> Optimizer stats are not outdated
SELECT only 1 row (as indicated in the PLAN of EXPLAIN) should be fast.
-
Can I use * and the list of the column names in a select query
PLSQL again. Can I use * and the list of the column names in a select query, i.e. Select *, col1, col2 from Mytable. When I do that my questions tend to the bomb. Can do in other databases.
Thank you
Mike
Hi, Mike,.
If there is something else in the more SELECT clause *, then * must be qualified with a table name or alias.
For example:
SELECT Mytable. *, col1, col2
FROM MyTable;
Maybe you are looking for
-
How to open the saved web page
I recorded my web pages with Mozilla Firefox, but I can't open a web page stored on Mozilla Firefox, however I can open these pages on other web browsers such as internet explorer, chrome.when I try to open the pages on Mozilla happens on the page "S
-
Satellite Pro A200 failing to connect with iphone via wifi hotspot
My apologies if I get some of the jargon wrong, but I'm pretty useless when you want IT emits. I have a Satellite Pro A200 and had problems connecting to various wifi connections.The computer could see the wifi connection and connect to it, but I was
-
Camera front 6 s iPhone problem more
I noticed that if the front of the 6s more is exposed to strong light - when I take a selfie - there is a flash of white light on the screen Although the picture comes out ok. someone at - it had the same problem? Thank you Haon
-
Mobile now installed XP SP3 stops randomly
I installed XP SP3 now my computer hp laptop with processor intel centrino duo stops randomly - is there a solution for this?
-
Recommendation for 4 GB of RAM for dv-6
My dv6 - 2154ca has a 8 GB maximum RAM list, but the two slots are full (I think there are only two). But when I visit the HP website for parts it lists only 2 GB of RAM modules. How will I know what 4 GB modules are adapted and used Sub my warrant