Table creation: Difference between revisions
Content deleted Content added
Line 628: | Line 628: | ||
</lang> |
</lang> |
||
=={{header|Scala}}== |
|||
===using SLICK FRM=== |
|||
<lang Scala>// Use H2Profile to connect to an H2 database |
|||
import slick.jdbc.H2Profile.api._ |
|||
import scala.concurrent.ExecutionContext.Implicits.global |
|||
object Main extends App { |
|||
// Definition of the SUPPLIERS table |
|||
class Suppliers(tag: Tag) extends Table[(Int, String, String, String, String, String)](tag, "SUPPLIERS") { |
|||
def id = column[Int]("SUP_ID", O.PrimaryKey) // This is the primary key column |
|||
def name = column[String]("SUP_NAME") |
|||
def street = column[String]("STREET") |
|||
def city = column[String]("CITY") |
|||
def state = column[String]("STATE") |
|||
def zip = column[String]("ZIP") |
|||
// Every table needs a * projection with the same type as the table's type parameter |
|||
def * = (id, name, street, city, state, zip) |
|||
} |
|||
val suppliers = TableQuery[Suppliers] |
|||
// Definition of the COFFEES table |
|||
class Coffees(tag: Tag) extends Table[(String, Int, Double, Int, Int)](tag, "COFFEES") { |
|||
def name = column[String]("COF_NAME", O.PrimaryKey) |
|||
def supID = column[Int]("SUP_ID") |
|||
def price = column[Double]("PRICE") |
|||
def sales = column[Int]("SALES") |
|||
def total = column[Int]("TOTAL") |
|||
def * = (name, supID, price, sales, total) |
|||
// A reified foreign key relation that can be navigated to create a join |
|||
def supplier = foreignKey("SUP_FK", supID, suppliers)(_.id) |
|||
} |
|||
val coffees = TableQuery[Coffees] |
|||
val setup = DBIO.seq( |
|||
// Create the tables, including primary and foreign keys |
|||
(suppliers.schema ++ coffees.schema).create |
|||
)}</lang> |
|||
=={{header|SQL PL}}== |
=={{header|SQL PL}}== |
||
{{works with|Db2 LUW}} |
{{works with|Db2 LUW}} |