Langsung ke konten utama

Postingan

Menampilkan postingan dengan label SQL

Use X++ wildcard (LIKE and NOT LIKE) in X++ select statement

For x++ select statements:  select firstOnly batchHistory      where batchHistory.Caption  LIKE  "*Test*"  For x++ queries:  queryBuildRange.value(*Test*); Note the LIKE instead of a '==' and the wildcards inside of the quotations. All other combinations of wildcard usage will work here. This is the same functionality as what the users would put in the grid filtering(eg. '*TEST*' in the caption field filter on the batch tasks form).  However, if you want to find all Captions that do not have the word Test in them (NOT LIKE, !LIKE), you will have to modify the above example slightly.  For x++ select statements:  select firstOnly batchHistory      where  !( batchHistory.Caption LIKE "*TEST*" ) ;  For x++ queries:  queryBuildRange.value(!*Test*);

SQL JOIN

SQL JOIN

ForceLiterals & ForcePlaceholders AX

ForceLiterals & ForcePlaceholders When you use forceliterals keywords in Axapta, Axapta will issue SQL statements directly to the database as text string. SELECT forceLiterals * FROM purchTable       WHERE purchId == ‘EN00009’ ; In SQL server, it will be: SELECT A.VALUE, A.MODIFIEDTIME, A.CREATEDTIME, A.RECID FROM HINTTABLE A(NOLOCK) WHERE (PURCHID="EN00009") OPTION(FAST 47) Conversely, using ForcePlaceHolders in Axapta, Axapta will issue SQL statements to the database, and a temporary stored procedure being created for this statement. This stored procedure then remains within the database for as long as the connection that was used when issuing the statement remains. SELECT forcePlaceHolders * FROM purchTable       WHERE purchId == ‘EN00009’ ; In SQL server, it will be:   SELECT A.VALUE, A.MODIFIEDTIME, A.CREATEDTIME, A.RECID FROM HINTTABLE A(NOLOCK) WHERE (PURCHID=" @P1") OPTION(FAST 47) Using forcePlaceHol...

SQL AUTO INCREMENT Field

AUTO INCREMENT Field Auto-increment allows a unique number to be generated automatically when a new record is inserted into a table. Often this is the primary key field that we would like to be created automatically every time a new record is inserted. Syntax for MySQL CREATE   TABLE  Persons (       ID int  NOT   NULL  AUTO_INCREMENT,     LastName varchar( 255 )  NOT   NULL ,     FirstName varchar( 255 ),     Age int,      PRIMARY   KEY  (ID) ); Syntax for SQL Server CREATE   TABLE  Persons (       ID int  IDENTITY ( 1 , 1 )  PRIMARY   KEY ,     LastName varchar( 255 )  NOT   NULL ,     FirstName varchar( 255 ),     Age int ); for Select Query SQL SERVER SELECT ROW_NUMBER () OVER ( ORDER BY FirstName, La...

Joins in X++ into T-SQL

1.  join  in X++: select AccountNum from custTable join TaxGroupId from custGroup where custGroup.CustGroup == custTable.CustGroup; CROSS JOIN  in T-SQL: SELECT T1.ACCOUNTNUM , T1.RECID , T2.TAXGROUPID , T2.RECID FROM CUSTTABLE T1 CROSS JOIN CUSTGROUP T2 WHERE (( T1.PARTITION =?) AND ( T1.DATAAREAID =?)) AND ((( T2.PARTITION =?) AND ( T2.DATAAREAID =?)) AND ( T2.CUSTGROUP = T1.CUSTGROUP )) 2.  outer join  in X++: select AccountNum from custTable outer join AccountID from custBankAccount where custBankAccount.CustAccount == custTable.AccountNum; LEFT OUTER JOIN  in T-SQL: SELECT T1.ACCOUNTNUM , T1.RECID , T2.ACCOUNTID , T2.RECID FROM CUSTTABLE T1 LEFT OUTER JOIN CUSTBANKACCOUNT T2 ON ((( T2.PARTITION =?) AND ( T2.DATAAREAID =?)) AND ( T1.ACCOUNTNUM = T2.CUSTACCOUNT )) WHERE (( T1.PARTITION =?) AND ( T1.DATAAREAID =?)) 3.  exists join  in X++: select AccountNum from custBankAccount...

Opening SDF files

What is a SDF file? SDF is an acronym for Standard Database Format. Files that contain the .sdf file extension normally contain standard database files that store data in a structured file format. These SDF files are often used to transfer data between different database applications. This allows a user who has created a database in one software program to share the database information with another user who may not have the same software product installed on his or her computer. The Soundweb software application also uses the .sdf file suffix. These SDF files contain designer files that have been created in the Soundweb application. To Open this file Open SQL Server Management Studio, or if it's running select File -> Connect Object Explorer... In the Connect to Server dialog change Server type to SQL Server Compact Edition From the Database file dropdown select < Browse for more...> Open your SDF file.

SQL IN Operator

IN Operator IN operator memperbolehkan kita untuk memilih secara spesifik beberapa value di dalam WHERE clause. SQL IN Syntax SELECT column_name(s) FROM table_name WHERE column_name IN ( value1 , value2 ,...); Demo Database Kita ambil contoh dari Northwind sample database. Dibawah ini adalah bagian dari "Customers" table : CustomerID CustomerName ContactName Address City PostalCode Country 1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany 2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico 3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico 4 Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK 5 Berglunds snabbköp Christina Bergl...

MYSQL : "THE USER SPECIFIED AS A DEFINER ('ROOT'@'%') DOES NOT EXIST"

Beberapa waktu lalu saya mendapatkan error " MYSQL : "THE USER SPECIFIED AS A DEFINER ('ROOT'@'%') DOES NOT EXIST" dari php, setelah dicari di mbah G akhirnya ketemu deh solusinya, jadi mau aku share nih, siapa tau temen-temen ada yang mendapatkan masalah yang sama juga di web aplikasi php nya Problemnya ternyata adalah tidak ada account dalam system untuk 'root'@'%'. Hal ini dapat ditunjukkan dengan mengetikkan show grants for 'root' @ '%' ; hasil yang di dapat adalah  ERROR 1141 ( 42000 ): There is no such grant defined for user 'root' on host '%' bila hasilnya sama seperti di atas maka cara untuk memperbaikinya adalah dengan alter source dari procedure atau dengan membuat account yang hilang : grant all on *.* to 'root' @ '%' identified by 'password' with grant option ; sebetulnya ini bukanlah ide yang baik untuk memberikan high-powered accou...

Check jika string hanya mengandung angka PHP

ctype_digit() Cara termudah dan tercepat untuk mengecek seluruh karakter string adalah nomor ialah dengan menggunakan ctype_digit ( ) $var = '1337'; if(ctype_digit($var)){ echo 'This string contains only digits'; } preg_match() Cara lain untuk mengecek apakah kalimat tersebut hanya mengandung angka adalah dengan menggunaakan preg_match(). preg_match() akan mencari suatu pola dan mengembalikan jumlah pola yang sesuai. Dalam contoh berikut akan digunakan 3 macam pola yang sebetulya memiliki makna yang sama. String harus mengandung hanya angka. if(preg_match('/^\d+$/',$var)){ echo 'This string contains only digits'; } if(preg_match("/^[0-9]+$/",$var)){ echo 'This string contains only digits'; } if(preg_match("/^[[:digit:]]+$/",$var)){ echo 'This string contains only digits'; } [0-9]  dan  [:digit:]  adalah character classes that means we are only looking for numbers in the string....

Cara Mengetahui Error PHP Menggunakan Fungsi Mysql_error()

Saat kita telah selesai menulis kode php yang berhubungan dengan database mysql seperti memasukkan data, menampilkan data dan lain sebagainya kadang masih saja ada sintaks yang error. Tentu saja ini akan menyulitkan kita karena pesan error yang ditampilkan sulit dimengerti apalagi untuk pemula seperti saya. Pada artikel ini kita akan belajar bagaimana mendeteksi dan menangani error tersebut sehingga script php yang kita buat dapat berjalan dengan baik. Berdasarkan pengalaman yang telah saya alami, berikut ini adalah tips dan trik menangani sintaks error pada php yang berhubungan dengan database MySQL. 1. Error karena tidak bisa terhubung ke MySQL pesan error yang ditampilkan jika script kita tidak dapat terhubung dengan database adalah sebagai berikut: Warning : mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO) in  D:\xampp\htdocs\contoh\satu.php  on line  6 atau Warning : mysql_query() [function.mysql-quer...

Mengkosongkan isi tabel mysql

Saya mau coba berbagi cara untuk mengosongkan isi table di mysql. Untuk menghapus sebuah data atau record di mysql bisa digunakan perintah DELETE, tapi untuk mengkosongkan keseluruhan isi tabel perintah yang bisa digunakan adalah  TRUNCATE TABLE. Bentuk umum perintah TRUNCATE TABLE adalah sebagai berikut : TRUNCATE TABLE [nama tabel] Jadi jika  ingin mengkosongkan isi sebuah tabel dengan nama komputer, maka saya ketikan : mysql> TRUNCATE TABLE komputer; Query OK, 0 rows affected (0.00 sec)

SQL Query UPDATE

Ini adalah syntax untuk mengupdate tabel SQL SQL UPDATE Syntax UPDATE  table_name SET  column1 = value1 , column2 = value2 ,... WHERE  some_column = some_value ; Fungsinya adalah untuk mengupdate data yang ada di dalam SQL tabel.

SQL Query INSERT INTO

Kadang kala kita suka lupa mengenai statement yang ada dalam SQL, ini buat bantu pengigat aja. untuk SQL INSERT INTO INSERT INTO  table_name VALUES ( value1 , value2 , value3 ,...); atau bisa juga INSERT INTO  table_name  ( column1 , column2 , column3 ,...) VALUES ( value1 , value2 , value3 ,...); fungsinya adalah untuk memasukan data ke dalam tabel SQL