PROC SQL Vs. DATA Step Processing - Cinsug

2y ago
22 Views
2 Downloads
2.53 MB
87 Pages
Last View : 13d ago
Last Download : 3m ago
Upload by : Kaleb Stephen
Transcription

PROC SQL vs. DATA Step ProcessingT Winand, Customer Success Technical TeamCopy rig ht SA S Institute Inc. A ll rig hts re se rve d.

AgendaPROC SQL VS. DATA STEP PROCESSING Comparison of DATA Step and PROC SQLcapabilitiesJoining SAS data using the DATA Stepand PROC SQLData Step and SQL OutputAdditional ComparisonsAdditional ResourcesVSSQLC o p yr i g h t 2 0 1 2 , S A S In s t i t u t e In c . A l l r i g h t s r e s e r ve d .Data Step

Comparison of DATA Step and PROC SQL capabilitiesC o p yr i g h t 2 0 1 2 , S A S In s t i t u t e In c . A l l r i g h t s r e s e r ve d .

PROC SQL vs.DATA StepType of processing DATA step is typically sequentialprocessing PROC SQL uses an optimizer – maysee dissimilar resultsC o p yr i g h t 2 0 1 2 , S A S In s t i t u t e In c . A l l r i g h t s r e s e r ve d .

DATA Step C o p yr i g h t 2 0 1 2 , S A S In s t i t u t e In c . A l l r i g h t s r e s e r ve d .creating SAS data sets (SAS data files or SAS views)creating SAS data sets from input files that contain rawdata (external files)creating new SAS data sets from existing ones bysubsetting, merging, modifying, and updating existingSAS data setsanalyzing, manipulating, or presenting your datacomputing the values for new variablesreport writing, or writing files to disk or taperetrieving informationfile management

PROC SQL C o p yr i g h t 2 0 1 2 , S A S In s t i t u t e In c . A l l r i g h t s r e s e r ve d .retrieve and manipulate data that is stored intables or views.create tables, views, and indexes on columns intables.create SAS macro variables that contain valuesfrom rows in a query's result.add or modify the data values in a table's columnsor insert and delete rows. You can also modify thetable itself by adding, modifying, or droppingcolumns.send DBMS-specific SQL statements to a databasemanagement system (DBMS) and retrieve DBMSdata.

CapabilityDATA StepPROCSQLCreating SAS data sets (SAS data files or SAS views)XXCreate Indexes on tablesXXCreating SAS data sets from input files that contain raw data(external files)XAnalyzing, manipulating, or presenting your dataXWriting external files to disk or tapeXComputing the values for new variablesXRetrieving system informationXFile managementXCreate SAS macro variables that contain values from rows ina query's resultXSend DBMS-specific SQL statements to a databasemanagement system (DBMS) and retrieve DBMS dataCopy rig ht SA S Institute Inc. A ll rig hts re se rve d.X (listingreports)XXX

CapabilityDATA StepUse DO loopsXUse ArraysXIF THEN ELSE processingXUse Object Oriented programming with JAVA or Hash objectsXCopy rig ht SA S Institute Inc. A ll rig hts re se rve d.PROCSQLX

Joining SAS data using the DATA Step and PROC SQLC o p yr i g h t 2 0 1 2 , S A S In s t i t u t e In c . A l l r i g h t s r e s e r ve d .

Types of Joins C o p yr i g h t 2 0 1 2 , S A S In s t i t u t e In c . A l l r i g h t s r e s e r ve d .Natural Uses no ‘keys’ – typically termed aCartesian productInnerOuter Joins Left Right Full

Joining Data C o p yr i g h t 2 0 1 2 , S A S In s t i t u t e In c . A l l r i g h t s r e s e r ve d .One to OneOne to ManyMany to OneMany to Many

One to OneCopy rig ht SA S Institute Inc. A ll rig hts re se rve d.

One to ManyCopy rig ht SA S Institute Inc. A ll rig hts re se rve d.

Many to ManyCopy rig ht SA S Institute Inc. A ll rig hts re se rve d.

Data Step & SQLOutputINNER JOIN – MANY TO MANYCopy rig ht SA S Institute Inc. A ll rig hts re se rve d.

Types of Joins Inner Join The intersection of two or more sets Return only matching rowsACBCopy rig ht SA S Institute Inc. A ll rig hts re se rve d.

One to OneC o p yr i g h t 2 0 1 2 , S A S In s t i t u t e In c . A l l r i g h t s r e s e r ve d .SAMPLE DATA

SQLproc sql;/*create table SQL Join as*/select *from Left a , Right bwhere a.key b.key groupby orderby ;quit;Proc SQL supports run group processingCopy rig ht SA S Institute Inc. A ll rig hts re se rve d.

SQLDEFAULT INNER JOIN - ONE TO ONEproc sql;/*create table SQL Join as*/select a.*, b.fruitsfrom Left a , Right bwhere a.key b.key;quit;Copy rig ht SA S Institute Inc. A ll rig hts re se rve d.

Data StepDEFAULT JOIN – ONE TO ONEdata Data Merge;merge Left Right;by key;run;Copy rig ht SA S Institute Inc. A ll rig hts re se rve d.

Data StepINNER JOIN – ONE TO ONEdata Data Inner;merge Left(in left)Right(in right);by key;if left and right;run;Copy rig ht SA S Institute Inc. A ll rig hts re se rve d.

SQLINNER JOIN – ONE TO ONEproc sql;select a.*, b.fruitsfrom Left a inner join Right bon a.key b.key;quit;Alternate SyntaxCopy rig ht SA S Institute Inc. A ll rig hts re se rve d.

Outer Joins return all matching rows, plus nonmatching rowsfrom one or both tables can be performed on only two tables or viewsat a time.Left24FullCopy rig ht SA S Institute Inc. A ll rig hts re se rve d.Right

Outer JoinsLEFT JOINRetrieve the matching rows as well as the non-matches from the left tableLeftCopy rig ht SA S Institute Inc. A ll rig hts re se rve d.

ReminderC o p yr i g h t 2 0 1 2 , S A S In s t i t u t e In c . A l l r i g h t s r e s e r ve d .SAMPLE DATA

SQLLEFT JOIN – ONE TO ONEproc sql;select a.*, b.fruitsfrom Left aLeft joinRight bon a.key b.key;quit;Copy rig ht SA S Institute Inc. A ll rig hts re se rve d.

Data StepLEFT JOIN – ONE TO ONEdata Data Left;merge Left(in left)Right(in right);by key;if left;run;Copy rig ht SA S Institute Inc. A ll rig hts re se rve d.

Outer JoinsRIGHT JOINRetrieve the matching rows as well as the non-matches from the right tableRightCopy rig ht SA S Institute Inc. A ll rig hts re se rve d.

ReminderC o p yr i g h t 2 0 1 2 , S A S In s t i t u t e In c . A l l r i g h t s r e s e r ve d .SAMPLE DATA

SQLRIGHT JOIN – ONE TO ONEproc sql;select b.key as Key, a.Veggies, b.Fruitsfrom Left aright joinRight bon a.key b.key;quit;Copy rig ht SA S Institute Inc. A ll rig hts re se rve d.

Data StepRIGHT JOIN – ONE TO ONEdata Data Right;merge Left(in left)Right(in right);by key;if right;run;Copy rig ht SA S Institute Inc. A ll rig hts re se rve d.

Outer JoinsFULL JOINRetrieve the matching rows as well as the non-matches from the left table and thenon-matches from the right table.FullCopy rig ht SA S Institute Inc. A ll rig hts re se rve d.

ReminderC o p yr i g h t 2 0 1 2 , S A S In s t i t u t e In c . A l l r i g h t s r e s e r ve d .SAMPLE DATA

SQLFULL (OUTER) JOIN – ONE TO ONEproc sql;/*create table SQL Outer as*/select a.key as Key,a.Veggies,b.Fruitsfrom Left aFull joinRight bon a.key b.key;quit;Copy rig ht SA S Institute Inc. A ll rig hts re se rve d.

The COALESCEFunctionThe COALESCE function returns the valueof the first non-missing argument.General form of the COALESCE function:COALESCE(argument-1,argument-2 , .argument-n)C o p yr i g h t 2 0 1 2 , S A S In s t i t u t e In c . A l l r i g h t s r e s e r ve d .

SQLFULL (OUTER) JOIN – ONE TO ONEproc sql;/*create table SQL Outer as*/select coalesce(a.key,b.key) asKey, a.Veggies, b.Fruitsfrom Left aFull joinRight bon a.key b.key;quit;Copy rig ht SA S Institute Inc. A ll rig hts re se rve d.

Data StepFULL (OUTER) JOIN – ONE TO ONE/* Just a simple merge */data Data Outer;merge Left(in left)Right(in right);by key;run;Copy rig ht SA S Institute Inc. A ll rig hts re se rve d.

Data Step & SQL OutputC o p yr i g h t 2 0 1 2 , S A S In s t i t u t e In c . A l l r i g h t s r e s e r ve d .

One to ManySAMPLE DATACopy rig ht SA S Institute Inc. A ll rig hts re se rve d.

SQLINNER JOIN - ONE TO MANY/* inner join with one to many data */title 'SQL join';proc sql;select a.key, a.veggies, b.fruitsfrom left a, right bwhere a.key b.key;quit;Copy rig ht SA S Institute Inc. A ll rig hts re se rve d.

Data StepINNER JOIN - ONE TO MANYdata oneToMany;merge left right;by key;run;title 'data merge';proc print; run;Copy rig ht SA S Institute Inc. A ll rig hts re se rve d.

Data StepINNER JOIN - ONE TO MANYtitle ‘Data Inner';data oneToMany;merge left(in left) right(in right);by key;if left and right;run;proc print;run;Copy rig ht SA S Institute Inc. A ll rig hts re se rve d.

Data Step & SQLOutputLEFT JOIN – ONE TO MANYCopy rig ht SA S Institute Inc. A ll rig hts re se rve d.

Data Step & SQLOutputRIGHT JOIN – ONE TO MANYCopy rig ht SA S Institute Inc. A ll rig hts re se rve d.

Data Step & SQLOutputFULL (OUTER) JOIN – ONE TO MANYCopy rig ht SA S Institute Inc. A ll rig hts re se rve d.

SQLMANY TO MANYProc SQL does a Cartesian product with a Many to Many join.Copy rig ht SA S Institute Inc. A ll rig hts re se rve d.

Data StepMerge MANY TO MANYData step joins the first record of dataset 1 to dataset 2, the second record of the first datasetto the second row of the second dataset and so on. No Cartesian product.Copy rig ht SA S Institute Inc. A ll rig hts re se rve d.

SQLINNER JOIN – MANY TO MANYtitle 'SQL inner';proc sql;select a.key, veggies, fruitsfrom left2 as a, right2 as bwhere a.key b.key;quit;Copy rig ht SA S Institute Inc. A ll rig hts re se rve d.

Data StepINNER JOIN – MANY TO MANYdata Data Inner;merge left(in left)right(in right);by key;if left and right;run;Proc Print;run;Copy rig ht SA S Institute Inc. A ll rig hts re se rve d.

SQLLEFT JOIN – MANY TO MANYproc sql;select a.key, veggies, fruitsfrom left2 as a left join right2 as bon a.key b.key;quit;Copy rig ht SA S Institute Inc. A ll rig hts re se rve d.

Data StepLEFT JOIN – MANY TO MANYdata Data Left;merge left(in left)right(in right);by key;if left;run;Proc Print;run;Copy rig ht SA S Institute Inc. A ll rig hts re se rve d.

Data Step & SQLOutputRIGHT JOIN – MANY TO MANYCopy rig ht SA S Institute Inc. A ll rig hts re se rve d.

Data Step & SQLFULL (OUTER) JOIN – MANY TO MANYproc sql;select coalesce(a.key,b.key) as Key,a.veggies, b.fruitsfrom left as a full join right as bon a.key b.key;quit;data Data Outer;merge left(in left)right(in right);by key;run;Proc Print;run;Copy rig ht SA S Institute Inc. A ll rig hts re se rve d.

Data Step & SQLOutputFULL (OUTER) JOIN – MANY TO MANYCopy rig ht SA S Institute Inc. A ll rig hts re se rve d.

SummaryJOINING DATASQL joins and DATA step merges may produce thesame output for the following data: One to one One to manySQL joins and DATA step merges produce dissimilarresults when data represents a many to manystructure.C o p yr i g h t 2 0 1 2 , S A S In s t i t u t e In c . A l l r i g h t s r e s e r ve d .

Additional ComparisonsC o p yr i g h t 2 0 1 2 , S A S In s t i t u t e In c . A l l r i g h t s r e s e r ve d .

ConditionalProcessing IF THEN statement in the DATA step C o p yr i g h t 2 0 1 2 , S A S In s t i t u t e In c . A l l r i g h t s r e s e r ve d .Very flexibleCASE expression in SQL

SQLCASE EXPRESSIONproc sql;select name, casewhen continent ‘North America’ then ‘US’when continent ‘Oceania’ then ‘Pacific Islands’else ‘None’end as regionfrom states;Copy rig ht SA S Institute Inc. A ll rig hts re se rve d.

Data StepIF THEN STATEMENTdata new;set states;if continent ‘North America’then region ‘US’;else if continent ‘Oceania’then region ‘Pacific Islands’;else region ‘None’;run;Copy rig ht SA S Institute Inc. A ll rig hts re se rve d.

IndexesIndexes can be created by SQL DATA step (at data set creation)Indexes may also be administered through SQL.C o p yr i g h t 2 0 1 2 , S A S In s t i t u t e In c . A l l r i g h t s r e s e r ve d .

Data StepINDEXESdata health.test(index (memberID));set health.claims sample;run;Indexes are created at the time of data set creation.PROC DATASETS can be used to change or maintain theindexes.Copy rig ht SA S Institute Inc. A ll rig hts re se rve d.

SQLINDEXESproc sql;drop index providerId from health.test;create unique index ProviderID onhealth.provider(providerID);PROC SQL can be used to create and administer indexes.Copy rig ht SA S Institute Inc. A ll rig hts re se rve d.

SubsettingC o p yr i g h t 2 0 1 2 , S A S In s t i t u t e In c . A l l r i g h t s r e s e r ve d . Use the WHERE clause in PROC SQL toselect only the rows of data that meet acertain condition. Use the WHERE statement or WHERE option in the DATA step to select onlythe rows of data that meet a certaincondition

SQL AND DATA STEPSubsettingCopy rig ht SA S Institute Inc. A ll rig hts re se rve d.

Sorting,summarizingand creatingnewvariablesC o p yr i g h t 2 0 1 2 , S A S In s t i t u t e In c . A l l r i g h t s r e s e r ve d . PROC SQL can sort, summarize, andcreate new variables in the same step The DATA step requires separate stepsto accomplish sorting, summarizing,and creating new variables

PROC SQLSorting, summarizing,creating new variablesCopy rig ht SA S Institute Inc. A ll rig hts re se rve d.

MULTIPLE STEPSSorting, summarizing,creating new variablesCopy rig ht SA S Institute Inc. A ll rig hts re se rve d.

Data StepCREATING EXECUTION TIME MACRO VARIABLES-data null ;call symputx(' items ', ' text to assign’);call symputx(' x ', 123.456);run;Both the DATA step and SQL can create macro variablesat execution time.The DATA step might be considered more flexible.Copy rig ht SA S Institute Inc. A ll rig hts re se rve d.

SQLCREATING EXECUTION TIME MACRO VARIABLESproc sql noprint;select country, barrelsinto :country1, :barrels1from sql.oilrsrvs;Copy rig ht SA S Institute Inc. A ll rig hts re se rve d.

Data StepLOOPINGThe DATA step allows the following capabilities for iterative processing: DO WHILE DO UNTIL Iterative DOCopy rig ht SA S Institute Inc. A ll rig hts re se rve d.

Data StepLOOPINGDO WHILEThe condition is evaluated at the top of the loop. Looping isterminated based on a condition.data test;J 1;do while(J lt 3);put J ;J 1;end;put 'do J: ' J ;run;Partial SAS Log:Copy rig ht SA S Institute Inc. A ll rig hts re se rve d.

Data StepLOOPINGDO UNTILThe UNTIL test is evaluated at the bottom of the loop. Looping isterminated based on a condition.data test;K 1;do until(K ge 3);put K ;K 1;end;put 'do K: ' K ;run;Partial SAS Log:Copy rig ht SA S Institute Inc. A ll rig hts re se rve d.

Data StepLOOPINGIterative DOThe iterative DO processes statements a specified number of times.data test;L 0;do L 1 to 2;put L ;end;put 'do L: ' L ;run;Partial SAS Log:Copy rig ht SA S Institute Inc. A ll rig hts re se rve d.

SQLPRESENTING YOUR DATAPROC SQL has the capability to produce basic line-oriented reports, whilethe DATA step provides maximum flexibility for creating highly customizedreports.Copy rig ht SA S Institute Inc. A ll rig hts re se rve d.

Data StepPRESENTING YOUR DATAThe DATA step code below produces the block-oriented reportdata null ;set heartsorted;file print notitlesheader head;put @10 'Patient ID: ' pat id@30 'Gender:' sex /@30 'Height:' height/@30 'Weight:' weight/@30 'Cholesterol:' cholesterol //;return;head:put @22 'Patient Information' //;return;run;Copy rig ht SA S Institute Inc. A ll rig hts re se rve d.

DBMS PassthroughORACLE EXAMPLE (FROM EG)PROC SQL;CONNECT TO ORACLE as con1(path exadat user "sascxg" pw "{sas002}F3E0253E4A824F6817A03031");CREATE TABLE WORK.QUERY FOR CLAIMS SAMPLE(label "Query") ASSELECT *FROM CONNECTION TO con1 (SELECT "t1"."MEMBERID","t1"."SVC ,"t1"."PAIDAMT"FROM "CLAIMS SAMPLE" "t1");DISCONNECT FROM con1;QUIT;Copy rig ht SA S Institute Inc. A ll rig hts re se rve d.

Thoughts and ConclusionsC o p yr i g h t 2 0 1 2 , S A S In s t i t u t e In c . A l l r i g h t s r e s e r ve d .

How do the techniques compare?OBSERVATIONS, BASED ON OUR EXAMPLES When joining tables, carefully review your output resultsto ensure that the code, whether PROC SQL or DATAStep, produces the results you want and expectIn cases of one-to-one and one-to-many joins, PROC SQLand the DATA Step can produce the same resultsIn cases of many-to-many joins, PROC SQL and the DATAStep produce different resultsBoth PROC SQL and the DATA Step perform subsetting ofyour data very efficientlyPROC SQL incorporates many tasks into the same step,but it is not always more efficient resource-wise.Benchmark your results, if the metrics matter.Copy rig ht SA S Institute Inc. A ll rig hts re se rve d.

How do the techniques compare?BENEFITS AND ADVANTAGES*SQL: Provides the combined functionality of the DATA step and several base SAS procedures PROC SQL code may execute faster for smaller tables PROC SQL code is more portable for non-SAS programmers and non-SAS applications Processing does not require explicit code to presort tables Processing does not require common variable names to join on, although same type andlength are required By default, a PROC SQL SELECT statement prints the resultant query; use the NOPRINT optionto suppress this feature Efficiencies within specific RDBMS are available with Pass-thru code (connect to) for theperformance of joins Use of aliases for shorthand code may make some coding tasks easier*From DATA Step vs. PROC SQL: What’s a neophyte to do? Proceedings of 29th SAS User Group International Conference, by Craig Dickstein, Tamarack Professional Services, Jackman, ME and Ray Pass, Ray PassConsulting, Hartsdale, NYCopy rig ht SA S Institute Inc. A ll rig hts re se rve d.

How do the techniques compare?BENEFITS AND ADVANTAGES*NON-SQL BASE SAS: DATA step set operators can handle more data sets at a time thanPROC SQL outer joins Non-SQL techniques can open files for read and write at the sametime Customized DATA step report writing techniques (DATA NULL ) aremore versatile than using PROC SQL SELECT clauses The straightforward access to RDBMS tables as if they were SAS datasets negates the need to learn SQL constructs Input of non-RDBMS external sources is easier*From DATA Step vs. PROC SQL: What’s a neophyte to do? Proceedings of 29th SAS User Group International Conference, by Craig Dickstein, Tamarack Professional Services,Jackman, ME and Ray Pass, Ray Pass Consulting, Hartsdale, NYCopy rig ht SA S Institute Inc. A ll rig hts re se rve d.

How do the techniques compare?WHICH TECHNIQUE TO USE? Which technique more efficiently handles the task athand?Which technique allows you to be more collaborativewith your peers and coworkers?Which technique is easier to maintain?Which technique are you more familiar with?Copy rig ht SA S Institute Inc. A ll rig hts re se rve d.

Additonal ResourcesC o p yr i g h t 2 0 1 2 , S A S In s t i t u t e In c . A l l r i g h t s r e s e r ve d .

Base SAS onlinedoc/base/index.html SAS Traininghttps://support.sas.com/edu RSS & mlhttp://blogs.sas.com Discussion Forumshttp://communities.sas.com C o p yr i g h t 2 0 1 2 , S A S In s t i t u t e In c . A l l r i g h t s r e s e r ve d .support.sas.comResources

SAS SQL Procedure User's Guidehttp://documentation.sas.com/?docsetId sqlproc&docsetTarget p020urejdmvi7vn1t9avbvazqapu.htm&docsetVersion 9.4&locale en Papers & SAS /336-2009.pdfhttp://support.sas.com/kb/20/783.html SAS ?id 336&ctry USC o p yr i g h t 2 0 1 2 , S A S In s t i t u t e In c . A l l r i g h t s r e s e r ve d .support.sas.comResources

support.sas.com Yes, Proc SQL is Great, But I Love Data StepProgramming, What's a SAS User To Do? Mira J.Shapiro, MJS Consultants, Bethesda, MDDATA Step versus PROC SQL Programming TechniquesKirk Paul Lafler, Software Intelligence CorporationDATA Step vs. PROC SQL: What’s a neophyte to do?Craig Dickstein, Tamarack Professional Services,Jackman, ME Ray Pass, Ray Pass Consulting, Hartsdale,NYTo search past papersclick hereC o p yr i g h t 2 0 1 2 , S A S In s t i t u t e In c . A l l r i g h t s r e s e r ve d .Papers & Blogs

Copy rig ht SA S Institute Inc. A ll rig hts re se rve d.

C o p yr i g h t 2 0 1 2 , S A S In s t i t u t e In c . A l l r i g h t s r e s e r ve d .Questions?Thank you for your time and attention!www.SAS.com

Agenda PROC SQL VS. DATA STEP PROCESSING Comparison of DATA Step and PROC SQL capabilities Joining SAS data using the DATA Step and PROC SQL Data Step and SQL Output Additional Comparisons Additional Resources SQL Data Step VS

Related Documents:

2. proc sql statement 1 ; 3. proc sql statement 2 ; 4. quit; /* required */ Lines 2, 3: all of the examples in the e-Guide are expected to be embedded between lines 1 and 4. SAS accepts one or more PROC SQL statements within each PROC SQL block of code. Eight common benefits for using PROC SQL:

USING PROC SQL As stated above, PROC SQL is SAS's implementation of the Structured Query Language. This procedure takes on the following general form: PROC SQL; sql-statement; QUIT; The sql-statement referenced above can be any SQL clause (e.g., ALTER, CREATE, DELETE, DESCRIBE, DROP, INSERT, SELECT, UPDATE, or VALIDATE).

proc gplot, proc sgplot, proc sgscatter, proc sgpanel, . In SAS/Graph: proc gcontour, proc gchart, proc g3d, proc gmap, Stat 342 Notes. Week 12 Page 26 / 58. KDE stands for Kernel Density Estimation. It's used to make a smooth estimation of the probability density of a distribution from the points in a data set.

grade step 1 step 11 step 2 step 12 step 3 step 13 step 4 step 14 step 5 step 15 step 6 step 16 step 7 step 17 step 8 step 18 step 9 step 19 step 10 step 20 /muimn 17,635 18,737 19,840 20,942 22,014 22,926 23,808 24,689 325,57! 26,453 /2qsohrs steps 11-20 8.48 9.0! 9.54 10.07 10.60 11.02 11.45 11.87 12.29 12.72-

Special Rates 562-600 Station Number 564 Duty Sta Occupation 0083-00 City: FAYETTEVILL State: AR Grade Suppl Rate Step 1 Step 2 Step 3 Step 4 Step 5 Step 6 Step 7 Step 8 Step 9 Step 10 Min OPM Tab Eff Date Duty Sta Occupation 0601-13 City: FAYETTEVILL State: AR Grade Suppl Rate Step 1 Step 2 Step 3 Step 4 Step 5 Step 6 Step 7 Step 8 Step 9 Step 10 Min OPM Tab Eff Date

SQL Server supports ANSI SQL, which is the standard SQL (Structured Query Language) language. However, SQL Server comes with its own implementation of the SQL language, T-SQL (Transact- SQL). T-SQL is a Microsoft propriety Language known as Transact-SQL. It provides further capab

MS SQL Server: MS SQL Server 2017, MS SQL Server 2016, MS SQL Server 2014, MS SQL Server 2012, MS SQL Server 2008 R2, 2008, 2008 (64 bit), 2008 Express, MS SQL Server 2005, 2005 (64 bit), 2005 Express, MS SQL Server 2000, 2000 (64 bit), 7.0 and mixed formats. To install the software, follow the steps: 1. Double-click Stellar Repair for MS SQL.exe.

GeneArt Strings DNA Fragments 8 Gene assembly 9 Mammalian expression systems 10 Selecting a mammalian expression system 10 . the five protein classes. The selected genes were individually optimized using the GeneOptimizer algorithm [2]. For comparison, the corresponding wild type genes were subcloned using native sequences available from the NCBI database. Each gene was then .